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.io/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.io/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.io/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.io/anthropic:
https://api.ofox.io/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.io/anthropic,模型填 qwen/qwen3.8-max 等 Qwen3.x 系列模型。Qwen Plus 不支持 Anthropic 接口。
Qwen 的 reasoning_content 在哪里?
流式响应中位于 delta.reasoning_content;非流式响应中位于 message.reasoning_details,请将各项的 text 拼接。