Qwen 系列
阿里雲通義千問的文字模型,包括 Qwen3.8、Qwen3.7、Qwen3.6 系列與 Qwen Flash、Qwen Plus。透過 OpenAI 相容介面呼叫,Qwen3.x 系列同時支援 Anthropic 原生介面。圖片生成模型請見 Qwen-Image。
常見任務
模型
完整的模型清單與即時價格請參閱模型頁 ,也可透過 Models API 查詢。模型 ID 可省略 qwen/ 前綴。
qwen/qwen3.8-max支援圖片輸入qwen/qwen3.8-flash支援圖片輸入qwen/qwen3.7-plus支援圖片輸入qwen/qwen-flash預設不思考,僅文字Qwen 模型由阿里雲百煉提供,包括中國站(aliyun)與國際站(alicloud)兩家供應商,預設自動選擇。指定方式請見供應商路由。
呼叫範例
Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
resp = client.chat.completions.create(
model="qwen/qwen3.8-flash",
messages=[{"role": "user", "content": "用一句話解釋什麼是冪等性。"}],
extra_body={"enable_thinking": False},
)
print(resp.choices[0].message.content)思考模式
實測同一道數學題:Qwen3.8 Flash 預設思考約 5800 token、耗時約 1.5 分鐘,Qwen3.6 Flash 預設思考超過 3 萬 token、耗時 4 分鐘以上;關閉思考後皆在數秒內回傳。
限制思考長度
需要思考但希望控制耗時與費用時,傳入 thinking_budget(思考 token 上限):
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
resp = client.chat.completions.create(
model="qwen/qwen3.8-flash",
messages=[{"role": "user", "content": "找出所有小於 50 的正整數 n,使 n² + n + 41 不是質數。"}],
extra_body={"enable_thinking": True, "thinking_budget": 1000},
)
msg = resp.choices[0].message
details = getattr(msg, "reasoning_details", None) or []
print("[思考]", "".join(d.get("text", "") for d in details)[:200], "…")
print("[回答]", msg.content)
print("思考 token:", resp.usage.completion_tokens_details.reasoning_tokens)- 實測
thinking_budget嚴格生效:設為 200 時,思考 token 恰好為 200。 enable_thinking、thinking_budget不是 OpenAI SDK 的標準參數,請放在extra_body中;直接傳送 HTTP 請求時放在請求主體頂層。- 思考 token 依輸出單價計費,數量請見
usage.completion_tokens_details.reasoning_tokens。
讀取思考內容
- 串流回應中,思考內容位於
delta.reasoning_content,與阿里雲百煉官方 API 一致。 - 非串流回應中,思考內容位於
message.reasoning_details,請將各項的text依序串接(請見上方範例)。
圖片輸入
支援圖片輸入的模型使用標準的 image_url 內容區塊:
import base64
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
img_b64 = base64.b64encode(open("photo.png", "rb").read()).decode()
resp = client.chat.completions.create(
model="qwen/qwen3.8-flash",
messages=[{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{img_b64}"}},
{"type": "text", "text": "描述這張圖片。"},
]}],
extra_body={"enable_thinking": False},
)
print(resp.choices[0].message.content)Qwen3.7 Max、Qwen Plus、Qwen Flash 僅支援文字,請改用上表中支援圖片輸入的模型。
在 Claude Code 中使用
Qwen3.x 系列與 Qwen Flash 支援 Anthropic 原生介面,位址為 https://api.ofox.ai/anthropic:
https://api.ofox.ai/anthropicqwen/qwen3.8-max- 透過 Anthropic 介面呼叫時,思考內容以
thinking區塊回傳。 - Qwen3.8 系列思考量較大,請設定足夠大的
max_tokens。實測max_tokens為 4000 時,回應可能只有thinking區塊而沒有回答。 - Qwen Plus 不支援 Anthropic 介面,呼叫會回傳
protocol_not_supported。
Claude Code 的完整設定步驟請見 Claude Code 設定。
JSON 輸出與工具呼叫
response_format 支援 {"type": "json_object"} 與 {"type": "json_schema", ...};工具呼叫使用標準的 tools 參數。使用 json_object 時,請在提示詞中寫明「以 JSON 回傳」及所需欄位。寫法請見結構化輸出與函式呼叫。
提示快取
Qwen 會自動快取重複的請求前綴,不需要修改請求。命中量請見 usage.prompt_tokens_details.cached_tokens,命中部分依快取讀取單價計費。快取採盡力而為,前綴相同的請求也可能未命中。
常見錯誤
其他通用錯誤請見錯誤處理。
官方文件
官方文件描述的是直連阿里雲百煉時的行為。在 OfoxAI 上呼叫時,模型 ID 與介面位址以本頁為準。
常見問題
Qwen 的模型 ID 怎麼寫?
標準寫法為 qwen/qwen3.8-flash,也可以省略 qwen/ 前綴。
Qwen 如何關閉思考?
傳入 "enable_thinking": false,在 OpenAI SDK 中放在 extra_body 裡。Qwen3.8、3.7、3.6 系列預設開啟思考,Qwen Flash、Qwen Plus 預設關閉。
Qwen 回應很慢,等了好幾分鐘?
Qwen3.x 系列預設開啟思考,複雜問題可能思考數萬 token。請關閉思考,或用 thinking_budget 限制思考長度,例如 "thinking_budget": 1000。
Qwen 的 thinking_budget 怎麼用?
與 "enable_thinking": true 一起傳入,值為思考 token 上限,例如 1000。實測嚴格生效。
Qwen 哪些模型可以看圖?
Qwen3.8 Max、3.8 Flash、3.8 27B、3.7 Plus、3.6 Flash 支援圖片輸入。Qwen3.7 Max、Qwen Plus、Qwen Flash 僅支援文字。
Claude Code 可以用 Qwen 嗎?
可以。ANTHROPIC_BASE_URL 設為 https://api.ofox.ai/anthropic,模型填入 qwen/qwen3.8-max 等 Qwen3.x 系列模型。Qwen Plus 不支援 Anthropic 介面。
Qwen 的 reasoning_content 在哪裡?
串流回應中位於 delta.reasoning_content;非串流回應中位於 message.reasoning_details,請將各項的 text 串接。