本地跑 Qwen3 太卡?30 行代码接入 API,速度快 10 倍还省显卡
本地跑 Qwen3 太卡?30 行代码接入 API,速度快 10 倍还省显卡
很多人第一次跑 Qwen3 27B 的反应都是:显存爆了。
Q4 量化至少要 16GB 显存,Q8 直接 28GB 起步。大多数人的 3090 或 4090 跑起来都压力山大,更别提 MacBook 了。
但 Hacker News 今天把 Qwen3 2.5 27B 顶上了热门,理由是:它是当前本地开发的"甜蜜点"——推理质量比 7B 强一个档次,比 72B 轻盈得多,是代码审查、函数生成、文档总结的理想尺寸。
问题是,大多数人根本跑不动它。
换个思路:不跑本地,接 API
与其折腾量化、llama.cpp 参数调优,不如直接调 API。响应更快、不占显存、费用也低得出乎意料。
下面这个脚本实现三件事:
1. 批量读取当前目录所有 .py 文件
2. 让 Qwen3 27B 做代码审查,输出问题列表
3. 结果写入 review_report.md
全部代码 30 行出头,直接可运行。
完整代码
#!/usr/bin/env python3
"""
repo_review.py — 用 Qwen3 27B 批量审查当前目录的 Python 文件
依赖: pip install openai
"""
import os
from pathlib import Path
from openai import OpenAI
# ✅ 替换 base_url 即可,其余代码不动
client = OpenAI(
api_key=os.environ.get("WULIANG_API_KEY", "your-api-key-here"),
base_url="https://api2everything.xyz/v1",
)
SYSTEM_PROMPT = """你是一名资深 Python 工程师,专注代码审查。
对每个文件,给出:
1. 潜在 Bug(如有)
2. 性能隐患
3. 可读性建议
用 Markdown 列表格式,语言简洁直接。"""
def review_file(filepath: Path) -> str:
code = filepath.read_text(encoding="utf-8", errors="ignore")
if len(code.strip()) < 10:
return "_文件为空,跳过_"
response = client.chat.completions.create(
model="qwen3-27b", # 也可换成 deepseek-v3 / claude-3-5-sonnet
messages=[
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": f"文件:`{filepath.name}`\n\n```python\n{code}\n```"},
],
max_tokens=1024,
temperature=0.2, # 低温,减少幻觉
)
return response.choices[0].message.content
def main():
py_files = list(Path(".").rglob("*.py"))
py_files = [f for f in py_files if ".venv" not in str(f) and "__pycache__" not in str(f)]
if not py_files:
print("当前目录没有找到 .py 文件")
return
print(f"找到 {len(py_files)} 个文件,开始审查...\n")
report_lines = ["# Code Review Report\n", f"共审查 {len(py_files)} 个文件\n\n---\n"]
for f in py_files:
print(f" → {f}")
result = review_file(f)
report_lines.append(f"## `{f}`\n\n{result}\n\n---\n")
Path("review_report.md").write_text("\n".join(report_lines), encoding="utf-8")
print("\n✅ 审查完成,报告已写入 review_report.md")
if __name__ == "__main__":
main()
跑起来只需三步
# 1. 安装依赖
pip install openai
# 2. 设置 API Key(注册无量Api 免费领 ¥1 余额)
export WULIANG_API_KEY="sk-xxxx"
# 3. 在你的项目目录里跑
cd your-project
python repo_review.py
输出的 review_report.md 长这样:
# Code Review Report
共审查 8 个文件
---
## `utils/db.py`
- **潜在 Bug**:第 42 行未关闭数据库连接,高并发下会耗尽连接池
- **性能隐患**:`SELECT *` 在大表上会有全量扫描,建议指定字段
- **可读性**:函数名 `do_thing()` 语义模糊,建议改为 `fetch_user_by_id()`
几个实用的扩展思路
换模型很简单,model 字段直接改就行:
| 场景 | 推荐模型 |
|------|----------|
| 日常代码审查 | qwen3-27b |
| 复杂逻辑分析 | deepseek-v3 |
| 需要最强推理 | claude-sonnet-4-5 |
| 预算有限 | gemini-flash-2.0 |
处理大文件:如果单文件超过 8000 tokens,可以按函数分块再合并结果,避免超出上下文。
CI 集成:把这个脚本加进 GitHub Actions,每次 PR 自动跑一遍,review_report.md 作为 artifact 上传,比人工 review 快不少。
关于费用
Qwen3 27B 调 API 比自己部署省事很多。我现在用的是无量Api,支持国内直连,不需要梯子,Qwen / DeepSeek / Claude / Gemini 300+ 模型都在一个 key 里。
价格比官方便宜大约 60%,审查一个中型项目(~50个文件)大概花几毛钱。注册还送 ¥1 试用余额,余额永久不过期,先试试再决定要不要充值。
🔗 api2everything.xyz — 改一行 base_url,其他代码原封不动
你们项目里有在用 AI 做自动化 review 的吗?欢迎评论区聊聊踩过的坑,或者贴出来一起看看。觉得有用的话点个赞,后续会继续写这类可以直接抄的实战脚本。