別慌——答案是用省下來的時(shí)間去喝咖啡、修 Bug,以及把更多靈感變成現(xiàn)實(shí)。


2025 年 8 月,阿里巴巴通義千問團(tuán)隊(duì)開源了史上最大規(guī)模的編程大模型——Qwen3-Coder,一口氣放出 7B / 32B / 480B 三個(gè)參數(shù)級(jí)別,并同步上線了完全免費(fèi)的 DashScope API 與超順手的 Qwen Code CLI
本文將手把手帶你用 Python 在 15 分鐘內(nèi)完成接入,并一步步解鎖智能編程助手的完整技能樹:

閱讀完你將得到一份可直接 clone 的 GitHub 模板工程,以及生產(chǎn)級(jí)最佳實(shí)踐 checklist。

1?? 為什么選擇 Qwen3-Coder?

維度 Qwen3-Coder-Plus 某 GPT-4o-Coder 某 Claude-3.5-Sonnet
參數(shù)量 480B
上下文長度 128 k 32 k 200 k
中文語料占比 45 % < 5 % < 5 %
API 價(jià)格 限時(shí)免費(fèi) $30 / 1M tokens $15 / 1M tokens
開源模型權(quán)重 ? ? ?
本地可商用 ? Apache-2.0 ? ?

一句話:免費(fèi)、開源、128 k 超長上下文、對中文注釋和中文變量名友好
官網(wǎng)直達(dá):https://qwenlm.github.io/zh/blog/qwen3-coder


2?? 準(zhǔn)備工作:10 秒注冊、30 秒拿 Key

  1. 打開瀏覽器輸入 https://bailian.console.aliyun.com/?tab=model#/model-market?name=qwen3

  2. 用支付寶掃碼即注冊,點(diǎn)擊【創(chuàng)建 API-KEY】,復(fù)制字符串。

  3. 終端執(zhí)行(Linux/Mac):

    export DASHSCOPE_API_KEY="剛才復(fù)制的KEY"
    setx DASHSCOPE_API_KEY "剛才復(fù)制的KEY"

完成!全程不到 1 分鐘。


3?? Python 最小可用腳本(3 行變 30 行)

3.1 環(huán)境

python -m venv venv && source venv/bin/activate
pip install openai python-dotenv rich

3.2 .env 文件(永遠(yuǎn)不要硬編碼密鑰)

DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxx

3.3 main.py —— 3 行版本

from openai import OpenAI
client = OpenAI(api_key="sk-xx", base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")
print(client.chat.completions.create(model="qwen3-coder-plus", messages=[{"role":"user","content":"用Python寫快排"}]).choices[0].message.content)

3.4 30 行優(yōu)雅版本(帶流式輸出 & 語法高亮)

import os, sys
from openai import OpenAI
from rich.console import Console
from rich.markdown import Markdown
from dotenv import load_dotenv

load_dotenv()
client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
console = Console()

prompt = " ".join(sys.argv[1:]) or "用Python寫快排"
stream = client.chat.completions.create(
    model="qwen3-coder-plus",
    messages=[{"role": "user", "content": prompt}],
    stream=True,
)

for chunk in stream:
    text = chunk.choices[0].delta.content or ""
    console.print(text, end="")

保存后執(zhí)行:

python main.py "寫一個(gè)Flask Todo API"

終端實(shí)時(shí)渲染 Markdown 格式的代碼,拷貝即可用。


4?? 核心玩法一:函數(shù)級(jí)代碼補(bǔ)全

場景:已有 utils.py,光標(biāo)停在 def hash_password(,讓 AI 補(bǔ)全函數(shù)體。

# partial.py
def hash_password(password: str) -> str:
    # TODO: 加鹽哈希

調(diào)用腳本:

from pathlib import Path
from openai import OpenAI
client = OpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"),
                base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")

source = Path("partial.py").read_text()
resp = client.chat.completions.create(
    model="qwen3-coder-plus",
    messages=[
        {"role": "system", "content": "你是安全專家,補(bǔ)全 TODO 并給出最佳實(shí)踐。"},
        {"role": "user", "content": source}
    ],
    max_tokens=256,
)
print(resp.choices[0].message.content)

輸出示例:

import bcrypt, secrets

def hash_password(password: str) -> str:
    salt = bcrypt.gensalt(rounds=12)
    return bcrypt.hashpw(password.encode('utf-8'), salt).decode('utf-8')

5?? 核心玩法二:項(xiàng)目級(jí)腳手架生成

官方 CLI Qwen Code 一條命令生成整個(gè)工程:

npm install -g @qwen-code/qwen-code
qwen new --template flask --name bookstore

但如果你想 自定義模板(比如公司內(nèi)部的 FastAPI + SQLModel + 分層架構(gòu)),可直接調(diào)用 API:

prompt = """
請生成一個(gè)FastAPI項(xiàng)目結(jié)構(gòu),要求:
1. 使用 SQLModel + asyncpg
2. 三層架構(gòu):routers/ services/ models/
3. 包含 Dockerfile 與 docker-compose.yml
4. 預(yù)置 pytest 示例
"""

返回的壓縮包(Base64 解碼后)可直接 unzip 運(yùn)行。
完整腳本見 starter.py


6?? 核心玩法三:本地知識(shí)庫檢索增強(qiáng)(RAG)

想讓 AI 只讀“你家的代碼”?
Chroma 做向量庫,兩步搞定:

  1. 索引本地倉庫

    pip install chromadb
    python build_index.py --repo ./my-project --output ./chroma_db
  2. 檢索 + 生成

    docs = chroma.similarity_search("如何登錄鑒權(quán)")
    context = "\n".join(d.page_content for d in docs)
    prompt = f"以下是我們現(xiàn)有代碼:\n{context}\n\n請?jiān)诖嘶A(chǔ)上實(shí)現(xiàn)JWT登錄。"

prompt 喂給 Qwen3-Coder,即可生成與現(xiàn)有風(fēng)格完全一致的代碼。


7?? 與 VS Code / Cursor / JetBrains 聯(lián)動(dòng)

7.1 VS Code 插件(官方開源)

7.2 Cursor

Cursor 已內(nèi)置 OpenAI Compatible 模式:
Settings → Models → Add → 填入 https://dashscope.aliyuncs.com/compatible-mode/v1qwen3-coder-plus

7.3 JetBrains 系列(PyCharm / IDEA)

通過 Continue 插件 支持:
Preferences → Continue → OpenAI Compatible → 填同上參數(shù)即可。


8?? 生產(chǎn)級(jí)部署:日志、緩存、并發(fā)、限流

示例架構(gòu):

FastAPI 中繼服務(wù)要點(diǎn):

代碼片段:

from fastapi import FastAPI, Request
from fastapi.responses import StreamingResponse
from slowapi import Limiter, _rate_limit_exceeded_handler
from slowapi.util import get_remote_address
import redis.asyncio as redis
import os, json
from openai import AsyncOpenAI

limiter = Limiter(key_func=get_remote_address)
app = FastAPI()
app.state.limiter = limiter
app.add_exception_handler(429, _rate_limit_exceeded_handler)
r = redis.from_url("redis://localhost")

client = AsyncOpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

@app.post("/v1/chat/completions")
@limiter.limit("60/minute")
async def chat(request: Request):
    body = await request.json()
    key = json.dumps(body, sort_keys=True)
    cached = await r.get(key)
    if cached:
        return json.loads(cached)
    resp = await client.chat.completions.create(**body)
    await r.setex(key, 1800, resp.model_dump_json())
    return resp

Dockerfile 見倉庫 deploy/ 目錄。


9?? 成本優(yōu)化:Token 壓縮、模型分層


?? 常見錯(cuò)誤排查清單

錯(cuò)誤信息 原因 & 解決
Invalid API Key 環(huán)境變量未生效;echo $DASHSCOPE_API_KEY 確認(rèn)
model not found 模型名拼錯(cuò),應(yīng)是 qwen3-coder-plus
Rate limit exceeded 免費(fèi)額度 1000 次/天用完;充值或提工單
Read timed out 公司代理;啟動(dòng)加 -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=7890

1??1?? 彩蛋:把 AI 接入 GitHub Actions,PR 自動(dòng)改 Bug

.github/workflows/ai-fix.yml
name: AI Fix PR
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  fix:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with: { python-version: "3.11" }
      - run: pip install openai
      - run: python scripts/ai_review.py
        env:
          DASHSCOPE_API_KEY: ${{ secrets.DASHSCOPE_API_KEY }}

ai_review.py 讀取 diff,讓 Qwen3-Coder 給出修復(fù)建議,并自動(dòng) commit。
完整腳本見倉庫 .github/


1??2?? 結(jié)論與展望

Qwen3-Coder 的旅程剛剛開始,讓我們一起把重復(fù)勞動(dòng)交給 AI,把創(chuàng)造力留給自己。
官方文檔:https://qwenlm.github.io/zh/blog/qwen3-coder

Happy Coding!

上一篇:

使用 C++ 和 Win32 API 創(chuàng)建 GUI 窗口應(yīng)用程序:從零構(gòu)建 Windows 桌面界面

下一篇:

如何獲取 Claude 4.1 Opus API 密鑰(分步指南)
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場景實(shí)測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對比試用API 限時(shí)免費(fèi)