
上周四5 月 22 号通义千问把 Qwen3.7-Max 的免费 Tier 正式开放了掘金好几个帖子在讨论。我正好手上有个内部知识库问答的项目在用 Qwen3.7 Plus想着免费的旗舰模型不白嫖一下说不过去就花了大半天把接入流程从头跑了一遍。结论是免费版能用但 RPM 和 TPM 的限制比想象中严格如果你的业务有并发需求得提前规划好降级策略。先说结论维度Qwen3.7-Max 免费 TierQwen3.7-Max 付费版Qwen3.7 Plus 付费版模型 IDqwen-max-freeqwen-maxqwen-plusRPM 上限10 次/分钟300 次/分钟500 次/分钟TPM 上限30,000 tokens/分2,000,000 tokens/分2,000,000 tokens/分最大上下文32K128K128K输出上限2,048 tokens8,192 tokens8,192 tokens价格¥0¥0.02/千 tokens输入¥0.008/千 tokens输入看到没免费版的 RPM 只有 10。十次。一分钟十次。说实话一开始我是拒绝的但后来想想拿来做原型验证和个人小工具还是够用的。环境准备你需要- 通义千问开放平台账号DashScope- Python 3.9-openaiSDK 1.30Qwen3.7 系列兼容 OpenAI 协议pip install openai --upgrade去 DashScope 控制台拿到 API Key免费版和付费版用同一个 Key区别在模型 ID。方案一直接调 DashScope 官方接口from openai import OpenAI client OpenAI( api_keysk-你的dashscope-key, base_urlhttps://dashscope.aliyuncs.com/compatible-mode/v1 ) response client.chat.completions.create( modelqwen-max-free, # 注意免费版是 qwen-max-free不是 qwen-max messages[ {role: system, content: 你是一个技术助手}, {role: user, content: 解释一下 Python 的 GIL} ], max_tokens2048, temperature0.7 ) print(response.choices[0].message.content)最容易踩的坑就是模型 ID。我第一次填的qwen-max直接扣费了。免费版必须显式写qwen-max-freeDashScope 文档里这个信息藏得挺深的我翻了好几页才找到。实测首次请求延迟大概 1.8s冷启动后续稳定在 600-900ms 之间。方案二通过聚合平台调用适合多模型切换场景我项目里同时用了 GPT-5.5 做摘要、Claude Sonnet 4.6 做代码生成、Qwen3.7-Max 做中文问答三个 base_url 维护起来挺烦人的。后来统一走聚合网关改一个 model 参数就能切from openai import OpenAI client OpenAI( api_keyyour-ofox-key, base_urlhttps://api.ofox.io/v1 ) # 切模型只改这一行 response client.chat.completions.create( modelqwen-max-free, messages[ {role: user, content: Qwen3.7-Max 和 Qwen3.7 Plus 的主要区别是什么} ], max_tokens2048 )聚合平台可以选 OpenRouter、ofox.io 这类OpenRouter 收 5.5% 手续费ofox 是 0% 加价对齐官方价格对免费模型来说两者都不额外收费主要区别在路由稳定性和管理后台。方案三Streaming 模式推荐用于前端展示免费版也支持 SSE 流式输出体感上第一个 token 出来比非流式快不少stream client.chat.completions.create( modelqwen-max-free, messages[{role: user, content: 用三句话解释量子计算}], streamTrue, max_tokens2048 ) for chunk in stream: if chunk.choices[0].delta.content: print(chunk.choices[0].delta.content, end, flushTrue)实测 TTFTTime To First Token大概 420ms这个数据在免费模型里算不错了。踩坑记录坑 1模型 ID 填错不报错直接扣费前面提了。qwen-max和qwen-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_tokens2048。坑 4与 Qwen3.7 Plus 的接口差异这个折腾了我一会儿。两者都兼容 OpenAI Chat Completions 格式但有几个字段行为不同字段Qwen3.7-Max FreeQwen3.7 Plustools(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_keyyour-key, base_urlhttps://api.ofox.io/v1) def smart_query(prompt, prefer_freeTrue): model qwen-max-free if prefer_free else qwen-plus try: resp client.chat.completions.create( modelmodel, messages[{role: user, content: prompt}], max_tokens2048 ) return resp.choices[0].message.content except RateLimitError: if model qwen-max-free: # 降级到付费版 Plus便宜够用 return smart_query(prompt, prefer_freeFalse) else: time.sleep(5) return smart_query(prompt, prefer_freeFalse)平时低频场景走免费版一旦触发限流自动切到 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 文档也没提。等后续有更新再来补充。