上周四(5 月 22 号)通义千问把 Qwen3.7-Max 的免费 Tier 正式开放了,掘金好几个帖子在讨论。我正好手上有个内部知识库问答的项目在用 Qwen3.7 Plus,想着免费的旗舰模型不白嫖一下说不过去,就花了大半天把接入流程从头跑了一遍。结论是:免费版能用,但 RPM 和 TPM 的限制比想象中严格,如果你的业务有并发需求,得提前规划好降级策略。

先说结论

维度 Qwen3.7-Max 免费 Tier Qwen3.7-Max 付费版 Qwen3.7 Plus 付费版
模型 ID qwen-max-free qwen-max qwen-plus
RPM 上限 10 次/分钟 300 次/分钟 500 次/分钟
TPM 上限 30,000 tokens/分 2,000,000 tokens/分 2,000,000 tokens/分
最大上下文 32K 128K 128K
输出上限 2,048 tokens 8,192 tokens 8,192 tokens
价格 ¥0 ¥0.02/千 tokens(输入) ¥0.008/千 tokens(输入)

看到没,免费版的 RPM 只有 10。十次。一分钟十次。说实话一开始我是拒绝的,但后来想想拿来做原型验证和个人小工具还是够用的。

环境准备

你需要:
- 通义千问开放平台账号(DashScope)
- Python 3.9+
- openai SDK >= 1.30(Qwen3.7 系列兼容 OpenAI 协议)

pip install openai --upgrade

去 DashScope 控制台拿到 API Key,免费版和付费版用同一个 Key,区别在模型 ID。

方案一:直接调 DashScope 官方接口

from openai import OpenAI

client = OpenAI(
 api_key="sk-你的dashscope-key",
 base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)

response = client.chat.completions.create(
 model="qwen-max-free", # 注意!免费版是 qwen-max-free,不是 qwen-max
 messages=[
 {"role": "system", "content": "你是一个技术助手"},
 {"role": "user", "content": "解释一下 Python 的 GIL"}
 ],
 max_tokens=2048,
 temperature=0.7
)

print(response.choices[0].message.content)

最容易踩的坑就是模型 ID。我第一次填的 qwen-max,直接扣费了。免费版必须显式写 qwen-max-free,DashScope 文档里这个信息藏得挺深的,我翻了好几页才找到。

实测首次请求延迟大概 1.8s(冷启动),后续稳定在 600-900ms 之间。

方案二:通过聚合平台调用(适合多模型切换场景)

我项目里同时用了 GPT-5.5 做摘要、Claude Sonnet 4.6 做代码生成、Qwen3.7-Max 做中文问答,三个 base_url 维护起来挺烦人的。后来统一走聚合网关,改一个 model 参数就能切:

from openai import OpenAI

client = OpenAI(
 api_key="your-ofox-key",
 base_url="https://api.ofox.io/v1"
)

# 切模型只改这一行
response = client.chat.completions.create(
 model="qwen-max-free",
 messages=[
 {"role": "user", "content": "Qwen3.7-Max 和 Qwen3.7 Plus 的主要区别是什么?"}
 ],
 max_tokens=2048
)

聚合平台可以选 OpenRouter、ofox.io 这类,OpenRouter 收 5.5% 手续费,ofox 是 0% 加价对齐官方价格,对免费模型来说两者都不额外收费,主要区别在路由稳定性和管理后台。

方案三:Streaming 模式(推荐用于前端展示)

免费版也支持 SSE 流式输出,体感上第一个 token 出来比非流式快不少:

stream = client.chat.completions.create(
 model="qwen-max-free",
 messages=[{"role": "user", "content": "用三句话解释量子计算"}],
 stream=True,
 max_tokens=2048
)

for chunk in stream:
 if chunk.choices[0].delta.content:
 print(chunk.choices[0].delta.content, end="", flush=True)

实测 TTFT(Time To First Token)大概 420ms,这个数据在免费模型里算不错了。

踩坑记录

坑 1:模型 ID 填错不报错,直接扣费

前面提了。qwen-maxqwen-max-free 是两个独立的模型端点。填错了不会返回 403,而是正常响应然后从你余额里扣钱。我因为这个多花了 ¥0.3……虽然不多但膈应。

坑 2:超 RPM 的报错信息

超过 10 RPM 之后返回的不是标准的 429,而是这个:

{
 "error": {
 "message": "Rate limit reached for model `qwen-max-free` in organization org-xxx on requests per min (RPM): Limit 10, Used 10, Requested 1.",
 "type": "requests_rate_limit",
 "code": "rate_limit_exceeded"
 }
}

好消息是格式和 OpenAI 的 429 一样,所以如果你代码里已经有 retry 逻辑,基本能兼容。

坑 3:输出被截断但没有明显提示

免费版 max_tokens 上限是 2048,但如果你不显式设置这个参数,默认值是 1500。我有个回答明显被截断了,看了半天才发现 finish_reason 返回的是 length 而不是 stop。建议每次都显式传 max_tokens=2048

坑 4:与 Qwen3.7 Plus 的接口差异

这个折腾了我一会儿。两者都兼容 OpenAI Chat Completions 格式,但有几个字段行为不同:

字段 Qwen3.7-Max Free Qwen3.7 Plus
tools (Function Calling) ❌ 不支持 ✅ 支持
response_format: json_object ✅ 支持 ✅ 支持
seed 参数 ❌ 忽略 ✅ 生效
top_p ✅ 生效 ✅ 生效
presence_penalty ❌ 忽略(静默) ✅ 生效

免费版不支持 Function Calling 这点对我影响最大。我原来的知识库问答用了 tool_use 来做结构化抽取,换到免费版之后只能改成 prompt engineering 硬凑 JSON 输出。

调用链路一览

graph LR
 A[你的应用代码] --> B{选择接入方式}
 B -->|直连| C[DashScope API]
 B -->|聚合网关| D[ofox.io / OpenRouter]
 C --> E[qwen-max-free]
 D --> E
 E --> F{RPM < 10?}
 F -->|是| G[正常响应 600-900ms]
 F -->|否| H[429 Rate Limit]
 H --> I[等待 60s 重试]

我的降级策略

既然免费版 RPM 这么低,我写了个简单的 fallback 逻辑:

import time
from openai import OpenAI, RateLimitError

client = OpenAI(api_key="your-key", base_url="https://api.ofox.io/v1")

def smart_query(prompt, prefer_free=True):
 model = "qwen-max-free" if prefer_free else "qwen-plus"
 try:
 resp = client.chat.completions.create(
 model=model,
 messages=[{"role": "user", "content": prompt}],
 max_tokens=2048
 )
 return resp.choices[0].message.content
 except RateLimitError:
 if model == "qwen-max-free":
 # 降级到付费版 Plus,便宜够用
 return smart_query(prompt, prefer_free=False)
 else:
 time.sleep(5)
 return smart_query(prompt, prefer_free=False)

平时低频场景走免费版,一旦触发限流自动切到 Qwen3.7 Plus。Plus 的输入价格才 ¥0.008/千 tokens,算下来一天跑几百次也就几毛钱。

小结

Qwen3.7-Max 免费版模型能力和付费版一致(同一个底座),限制也很明确:10 RPM、30K TPM、2048 输出上限、不支持 Function Calling。适合个人开发者做原型、写 demo、跑测试。

生产环境我建议直接上付费版或者 Qwen3.7 Plus——Plus 便宜一半多,RPM 还更高,除非你特别需要 Max 的推理能力。

免费版的 32K 上下文是永久策略还是公测期间的临时限制,我目前没找到明确说明,DashScope 文档也没提。等后续有更新再来补充。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐