豆包 API 通过火山方舟提供,接口形态与 OpenAI 接近,模型覆盖文本、视觉、图片、视频和语音。团队寻找替代方案,通常不是因为某一个模型“不行”,而是出于三类考虑:任务适配、单点依赖和结算结构。把“替代”理解成“换一家更便宜的”,往往会忽略迁移和评测成本。
本文按中文写作、多模态、语音、长上下文、Agent、接入方式、计费结构七个维度对比 Qwen、DeepSeek、GLM,并给出场景选型表和迁移清单。模型目录和价格变化很快,本文不写具体单价,统一以站内模型价格和各厂商控制台为准。
说明:豆包、火山方舟、火山引擎是字节跳动的商标;Qwen、通义千问、阿里云是阿里巴巴集团的商标;DeepSeek 是杭州深度求索的商标;GLM、智谱是智谱公司的商标。本文仅作技术比较,与上述公司无隶属、代理或合作关系。
一、先判断是否真的需要替代
以下情况值得做多供应商评估:
- 现有模型在自家任务上的准确率或风格不达标,且提示词优化已到瓶颈。
- 业务对限流、区域故障或配额敏感,需要备用通道。
- 需要视觉、语音、视频等能力,而当前 API 的产品线不覆盖。
- 结算方式(预付、账期、发票)与公司财务流程不匹配。
- 数据留存、内容审核或部署区域有额外要求。
如果只是“想试试新模型”,先做小样本评测,不要直接改生产代码。替代方案的价值在于降低风险,而不是增加一套需要维护的集成。
二、中文写作:用自家样本做盲评
四家模型在中文写作上的差异,更多体现在风格和遵循度,而不是“能不能写”。豆包在营销文案、口语化表达和短句节奏上有较多积累;Qwen 的中文知识面广,说明文和结构化写作较稳;DeepSeek 擅长长文逻辑、推理和代码,文风偏克制;GLM 在对话、办公写作和改写类任务上比较自然。
这些只是常见体感,不能代替评测。版本迭代会显著改变表现,同一个模型换个日期后缀,结果就可能不同。建议准备 50 到 100 条真实任务,覆盖你们最常写的五类内容,固定提示词和评分标准,由两名同事盲评。评分维度建议包括:事实准确、结构完整、语气匹配、指令遵循、拒答是否合理。
不要只看公开榜单。榜单任务与你的业务分布不同,且更新滞后。自家样本哪怕只有几十条,也比排行榜更接近真实。
三、多模态与语音:产品线完整度差别最大
如果只做文本对话,四家都能覆盖。真正拉开差距的是多模态和语音。
豆包背后的火山方舟提供视觉理解、图片生成、视频生成和语音合成等模型族,适合在一个平台里组合文本、图像和音频能力。Qwen 体系有视觉理解、全模态和语音相关模型,具体型号与开放区域要以百炼控制台为准。GLM 体系有视觉、语音和视频生成模型,办公与对话场景的配套较多。DeepSeek 的公开 API 主线是文本与代码,多模态和语音不是它的重点;如果需求以语音客服或图像生成为主,先确认目标平台当前开放的模型目录。
语音场景不要只看模型参数。端到端延迟、打断处理、ASR 与 TTS 的衔接、WebSocket 稳定性,都会影响体验。建议用真实电话录音做一轮回放测试,分别记录首字延迟、整句延迟和失败率。
四、长上下文:标称窗口不等于有效窗口
主流旗舰模型普遍提供 128K 到 256K 级别的上下文,但“能放进去”和“能用好”是两件事。长上下文常见的问题包括:中段信息丢失、指令在长对话后失效、输出被截断、费用随输入快速增长。
测试时至少做三件事:把关键信息放在 30%、60%、90% 三个深度各测一次;用多跳问题检查模型是否能串联分散信息;在接近窗口上限时观察延迟和截断。对于合同、财报这类长文档,RAG 加精读片段往往比整篇塞入更稳,也更便宜。
还要分清输入窗口和输出上限。上下文窗口通常指输入加输出的总量,max_tokens 设得过大,可能让本来合法的请求变成超长错误。具体计算方式以模型文档为准。
五、Agent 与工具调用:稳定性比“支持”重要
四家都提供函数调用或工具调用能力,但工程表现要看细节:工具选择是否正确、参数是否符合 JSON Schema、并行调用是否稳定、工具报错后能否恢复、流式模式下工具参数是否完整、长对话中是否重复调用或死循环。
建议设计 20 条多轮任务,每条挂 3 到 5 个工具,故意加入一次工具失败和一次空结果,观察模型的恢复策略。只测“单轮单工具”很容易高估能力。生产环境还要加最大步数、超时和人工兜底,避免 Agent 无限循环消耗额度。
如果使用统一网关,工具调用的字段映射和错误传递要重点回归。不同厂商对 tool_calls、finish_reason 和流式事件的组织方式不完全一致,网关能否无损转换,直接影响 Agent 的稳定性。
六、接入与迁移成本:OpenAI 兼容只是第一步
四家都提供 OpenAI 兼容或接近的接口,普通对话迁移通常只改三处:Base URL、API Key、模型名。但生产迁移还会遇到:模型名与接入点 ID 的差异、错误码语义不同、流式分片格式不同、工具调用字段不同、Token 计数口径不同、内容审核返回方式不同。
火山方舟的一个特殊点是推理接入点。控制台创建的接入点通常以 ep- 开头,调用时填在 model 字段;部分模型也支持直接使用模型 ID。两种方式的权限、限流和计费口径可能不同,迁移前先在控制台确认当前项目该用哪一种。
下面这段代码把四家的地址集中配置,模型名全部走环境变量,切换供应商时不需要改业务代码:
import os
from openai import OpenAI
BASE_URLS = {
"doubao": "https://ark.cn-beijing.volces.com/api/v3",
"qwen": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"deepseek": "https://api.deepseek.com",
"glm": "https://open.bigmodel.cn/api/paas/v4",
}
def make_client(provider: str) -> OpenAI:
return OpenAI(
api_key=os.environ[f"{provider.upper()}_API_KEY"],
base_url=BASE_URLS[provider],
timeout=60,
max_retries=2,
)
# 模型名或接入点 ID 从环境变量读取,避免写死在代码里
model = os.environ["DOUBAO_MODEL"]
这段代码只解决“连得上”。要解决“切得动”,还需要统一的日志字段、错误码映射和回归用例。
七、计费结构:先算单任务成本
四家都以 Token 计费为主,但结构不同:有的按输入长度分档,有的对缓存命中给折扣,有的提供资源包或预留吞吐,语音和视频往往按秒或按次计费。具体单价和折扣会调整,本文不列举,统一看模型价格和厂商控制台。
比较成本时,不要只比每百万 Token 的价格。按“每 1000 个成功任务”计算更有意义,把输入输出比例、重试次数、失败重跑、缓存命中率和人工复核都算进去。长上下文任务的输入成本占比高,输出型任务的输出成本占比高,两类业务的最优选择可能不同。
八、场景选型表
| 场景 | 优先尝试 | 主要理由 | 注意事项 |
|---|---|---|---|
| 中文营销文案、客服话术 | 豆包或 Qwen | 中文语感与风格化能力较成熟 | 用品牌语气样本做盲评 |
| 长文报告、代码与推理 | DeepSeek | 长文结构和推理表现稳定 | 核对事实与引用来源 |
| 办公写作、表格问答 | GLM 或 Qwen | 中文办公场景适配较多 | 复杂表格先做结构抽取 |
| 图片理解、票据识别 | Qwen 视觉或豆包视觉 | 多模态产品线完整 | 低质量图片先做增强 |
| 实时语音客服 | 豆包语音或 Qwen 全模态 | 语音链路可一体化接入 | 重点测延迟与打断 |
| 图片、视频生成 | 豆包生成模型或 GLM 视频 | 生成类模型选择较多 | 建立审核与版权流程 |
| 多供应商容灾 | 统一 API 网关 | 切换和日志集中管理 | 先统一错误码与超时 |
表里的“优先尝试”只是起点,不是结论。任何一行都应当用自家评估集验证后再定。
九、迁移清单
- 建立 50 到 100 条真实任务评估集,固定提示词、输入和评分标准。
- 记录基线指标:准确率、指令遵循、P95 延迟、单任务成本和失败率。
- 在目标平台确认模型名或接入点 ID、上下文上限、输出上限和开放区域。
- 把 Base URL、Key、模型名改为环境变量或配置中心,不在代码里写死。
- 对齐错误码和重试策略,区分可重试的限流与不可重试的欠费、权限问题。
- 回归流式输出、工具调用、JSON 输出和多模态输入四类接口。
- 灰度 5% 到 10% 流量,双写日志,比较质量、延迟和成本。
- 准备回滚开关、备用模型和额度告警,确认数据留存与发票流程。
迁移不是一次性动作。上线后每月用同一套评估集复测一次,模型升级或价格调整时才不会被动。
十、常见问题(FAQ)
1. 豆包 API 可以直接用 OpenAI SDK 吗?
可以,火山方舟提供 OpenAI 兼容接口,配置 Base URL 和 API Key 即可。模型字段填接入点 ID 还是模型 ID,要以控制台和接口文档为准,两者混用是常见报错来源。
2. 只改 Base URL 就能完成迁移吗?
纯文本对话通常可以。涉及流式、工具调用、多模态、JSON Schema 或长上下文时,必须做回归测试。错误码和限流口径也不同,重试逻辑不能直接照搬。
3. Qwen、DeepSeek、GLM 哪家中文写作最好?
没有统一答案。营销文案、技术文档、公文和小说对“好”的定义不同,模型版本也会改变结果。用自家样本盲评,比看单一榜单可靠。
4. 需要语音能力时应该怎么选?
先确认目标平台当前开放的语音模型和接入方式,再用真实录音测首字延迟、打断和失败率。豆包和 Qwen 的语音产品线较完整,GLM 也有语音相关模型,具体以控制台为准。
5. 多供应商会不会增加维护成本?
会增加,但可以通过统一网关、统一日志字段和统一错误码把成本压下来。不要按请求随机切换供应商,那会让问题难以复现;按业务线或按故障场景切换更可控。
下一步
先在中商起航 AI 网关创建一个测试 Key,用同一套评估集跑通两个供应商,再决定是否迁移。可用模型和计费方式见模型价格。
