← 返回资讯

国产大模型 API 全景:六大厂商接入与对比指南

2026-06-13

国产大模型已进入”百花争鸣”阶段。DeepSeek、通义千问、文心一言、豆包、Kimi、智谱 GLM 六大主流厂商均提供 OpenAI 兼容接口,开发者只需替换 base_url 与模型名,即可快速完成迁移或多路备用部署。本文从接入共性、能力矩阵、价格定性、场景选型四个维度做全景梳理。

六大厂商一句话定位

厂商代表模型核心标签
DeepSeekDeepSeek-V3 / R1超低价、开源友好、推理强
通义千问(Qwen)Qwen-Max / Plus / Turbo长文本、多模态、阿里云生态
文心一言(ERNIE)ERNIE 4.5 / Speed百度搜索增强、中文理解优
豆包Doubao-Pro / Lite字节生态、对话体验佳
Kimimoonshot-v1 系列超长上下文(128k+)、文档解析
智谱 GLMGLM-4 / GLM-4-Flash代码+工具调用、免费额度慷慨

接入共性:OpenAI 兼容协议

六家厂商均遵循 OpenAI Chat Completions 协议,接入模板高度一致。这不是巧合,而是国产厂商集体做的一个务实决定:OpenAI 生态的 SDK、LangChain 适配器、各种 Agent 框架已经把这套请求体(messages 数组、role/content 结构、stream 参数)打磨成了事实标准。厂商如果自造一套协议,等于逼着每个想接入的团队重写一遍适配层,谁也不愿意干这种劝退开发者的事。所以你能看到的结果就是:换厂商基本等于换两行字符串(base_urlapi_key),业务代码、Prompt 模板、重试逻辑全都不用动。这也是为什么很多团队会同时接 2-3 家国产模型做「多路备用」——真出问题的时候,切换成本几乎是零。

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",          # 替换为对应厂商的密钥
    base_url="https://xxx/v1",       # 替换为对应厂商的端点
)

response = client.chat.completions.create(
    model="model-name",              # 替换为对应厂商的模型名
    messages=[
        {"role": "user", "content": "你好,请介绍一下你自己"}
    ],
)
print(response.choices[0].message.content)

这段代码里最容易踩坑的其实不是 base_url,而是 api_key 的格式。六家厂商里,DeepSeek、Kimi、智谱 GLM 的 Key 都是一长串字符直接塞进 api_key 参数就行;但文心一言(千帆平台)走的是百度智能云的 AK/SK 双密钥体系,你不能直接照抄 DeepSeek 的写法把 SK 当 api_key 用,得先用 AK+SK 换取 access_token,再拼到请求里——这也是文档里那句”鉴权方式略有差异”背后的真实坑。第一次接文心的团队十有八九会在这里卡住,报错通常是 Open api security error 或者 AppBuilderClient token invalid,根因就是没走 AK/SK 换 token 这一步,直接照搬了 OpenAI 兼容模板。

各厂商端点与模型名速查:

厂商base_url常用模型名示例
DeepSeekhttps://api.deepseek.com/v1deepseek-chat / deepseek-reasoner
通义千问https://dashscope.aliyuncs.com/compatible-mode/v1qwen-max / qwen-plus / qwen-turbo
文心一言https://qianfan.baidubce.com/v2ernie-4.5-8k / ernie-speed-128k
豆包https://ark.cn-beijing.volces.com/api/v3doubao-pro-32k / doubao-lite-4k
Kimihttps://api.moonshot.cn/v1moonshot-v1-8k / moonshot-v1-128k
智谱 GLMhttps://open.bigmodel.cn/api/paas/v4glm-4 / glm-4-flash

注意:文心一言(千帆平台)的鉴权方式略有差异,建议以官方最新文档为准。

真实踩坑:401 / 429 / 超时怎么排查

这三个错误码基本覆盖了国产大模型接入时 90% 的报错场景,逐个说清楚根因和修法:

  • 401 Unauthorized:最常见的原因不是 Key 错了,而是 Key 和 base_url 对不上——比如把通义千问百炼平台的 Key 填到了 DeepSeek 的 base_url 下面调用,或者 Key 复制时带了首尾空格/换行符。排查方法很简单:先用 curl 单独打一次请求,把 Authorization: Bearer $KEY 打印出来核对字符数,肉眼很难发现的空格问题一核对长度就露馅了。
  • 429 Too Many Requests:说明你撞到了限速。国产厂商的免费额度/低价档普遍会给一个不算宽松的 QPS(每秒请求数)上限,比如某些 Flash/Lite 档位免费额度下常见到个位数 QPS。批量跑任务时最容易触发,表现为前几十条正常、跑到中途开始大批 429。修法是加指数退避重试(下面有代码),而不是简单地 sleep(1) 完事——退避才能在真正拥堵时给足恢复时间,又不会在轻微抖动时白等太久。
  • 超时(timeout):长上下文模型(Kimi 128k、通义 Turbo 1M)在输入接近上限时,首字延迟(TTFT)会明显变长,默认的 10 秒超时很容易被打爆。这不是网络问题,是模型确实需要更长时间处理超长输入,把客户端超时调到 60-120 秒是常规操作,同时开 stream=True 让用户先看到”正在生成”的反馈,而不是干等一个黑屏。

一个可以直接抄的重试退避写法:

import time
import random
from openai import OpenAI

def call_with_retry(client, max_retries=5, **kwargs):
    for attempt in range(max_retries):
        try:
            return client.chat.completions.create(**kwargs)
        except Exception as e:
            if attempt == max_retries - 1:
                raise
            # 指数退避 + 随机抖动,避免多个请求同时重试造成"雪崩"
            wait = min(2 ** attempt + random.uniform(0, 1), 30)
            print(f"第 {attempt + 1} 次调用失败:{e}{wait:.1f}s 后重试")
            time.sleep(wait)

这里的抖动(jitter)不是可有可无的装饰——如果你的服务是多实例部署,所有实例同时因为 429 触发重试,退避时间又完全一致,很可能在下一秒集体重试再次打满限速,形成”重试风暴”。加一个 0-1 秒的随机量就能把这批请求错开。

能力与特色对比

维度DeepSeek通义千问文心一言豆包Kimi智谱 GLM
最大上下文64k(V3)1M(Turbo)128k128k128k128k
多模态支持仅文本(主力)图文/音频/视频图文图文/音频图文/文档图文
推理能力★★★★★(R1)★★★★★★★★★★★★★★★★★★★
代码能力★★★★★★★★★★★★★★★★★★★★★★★★
中文理解★★★★★★★★★★★★★★★★★★★★★★★★★★★
工具调用支持支持支持支持支持支持(强)
免费额度有(Flash 免费)
开源选项DeepSeek-R1/V3Qwen 系列部分开源GLM 系列

这张表有两个数字特别容易被误读,提前说清楚:

一是”最大上下文”不等于”可用上下文”。厂商宣传的 128k/1M 是模型能接受的输入长度上限,但实际生产场景里,超长上下文往往伴随中间信息丢失问题——业内俗称”lost in the middle”:把关键信息塞在输入正中间,模型抽取准确率会明显低于放在开头或结尾。所以如果你的任务是”喂一本 10 万字小说问细节”,光看上下文够不够是不够的,得实测几个刁钻问题验证模型是不是真的”记得住”,不能只看参数表选型。

二是星级评分是相对定性,不是跑分排名。这几个厂商的模型迭代速度很快,同一个厂商三个月内换代模型能力就可能跳一档,所以表里的星级更适合用来判断”大致处在什么梯队”,具体到某个业务场景该选谁,还是建议用你自己的真实 Prompt 拿几家模型跑一遍小规模测试集,比看任何评测榜单都可靠——评测集和你的业务分布往往对不上。

价格定性

截至 2026-06,以官方公示为准:

  • DeepSeek:国产最低价之一,V3 输入价格极具竞争力,R1 推理模型性价比突出;
  • 通义千问 Turbo:高性价比轻量档,大批量调用成本低;
  • 文心 Speed 系列:速度型模型价格亲民,适合高并发简单任务;
  • 豆包 Lite:字节轻量档,低延迟场景有竞争力;
  • Kimi:长上下文定价,按实际 token 收费,文档类任务经济;
  • 智谱 GLM-4-Flash:免费额度较大,开发测试几乎零成本。

整体而言,国产大模型价格普遍低于 GPT-4o/Claude 3.5 等海外主流模型,适合国内企业降低 AI 应用成本。具体数字请以各厂商官网/控制台为准,价格随市场竞争持续下调。

怎么估算自己业务的真实成本

看单价没用,你得算出”跑一次业务大概花多少钱”,公式并不复杂:

单次调用成本 = (输入 token 数 × 输入单价 + 输出 token 数 × 输出单价) / 1000(或 1M,看厂商计价单位)
月度成本 ≈ 单次调用成本 × 日均调用量 × 30

关键是前两个变量你自己心里要有数:输入 token 数不是看你输入了多少个汉字,而是要用 Token 计数工具 实测——中文分词后 token 数通常比字数多(一个汉字常常拆成 1-2 个 token),估算时按字数直接套用会明显低估成本。输出 token 数则取决于你的业务场景,纯分类打标签这种任务输出可能只有几个 token,但摘要生成、长文写作这类任务输出可能是输入的数倍,这部分预算最容易被低估。

实操上建议先拿 100 条左右的真实业务样本跑一遍,用返回的 usage 字段(prompt_tokens / completion_tokens)拿到真实消耗,再乘以预期调用量做外推,比拍脑袋估算靠谱得多:

response = client.chat.completions.create(model="model-name", messages=messages)
print(response.usage.prompt_tokens, response.usage.completion_tokens)

跑完这一步你会发现,很多时候真正吃成本的不是模型单价高低,而是 Prompt 里塞了太多不必要的上下文(比如整段贴历史对话、重复的系统提示词),先做 Prompt 瘦身往往比换更便宜的模型更立竿见影。

可用 价格对比工具 实时横向比较各厂商主力模型报价。

怎么选:场景化选型建议

① 追求极致性价比 → DeepSeek-V3 大规模 NLP 任务首选,价格极低、效果不输顶级闭源模型。

② 需要强推理/数学/代码 → DeepSeek-R1 或智谱 GLM-4 R1 是目前国产推理最强之一;GLM-4 工具调用成熟、Function Calling 文档详尽。

③ 超长文档处理 → Kimi moonshot-v1-128k 或通义 Turbo PDF/合同/报告解析,优先选支持 128k+ 上下文的模型。

④ 阿里云生态已有投入 → 通义千问 与 OSS、函数计算、百炼平台深度整合,运维成本低。

⑤ 多模态场景 → 通义千问(视频/音频最全)或文心一言 通义支持图文音视频四模态,能力矩阵最完整。

⑥ 开发测试/学习 → 智谱 GLM-4-Flash 免费额度大,API 稳定,适合原型验证。

注册与接入通用流程

  1. 访问对应厂商开放平台,注册账号(手机号实名);
  2. 创建应用,生成 API Key(部分平台称”密钥”或”Token”);
  3. 参考上方代码模板替换 base_url + api_key + model
  4. 发出测试请求,确认响应正常;
  5. 接入 Token 用量监控 追踪消耗,设置用量告警。

常见问题

所有厂商都支持流式输出(stream)吗? 是的,六家厂商均支持 stream=True 参数,与 OpenAI 用法一致,适合实时对话场景。

国产模型能替代 GPT-4o 吗? 常规中文任务、代码生成、文档摘要等场景基本可替代;对于高难度数学推理,DeepSeek-R1 已达到甚至超越 GPT-4o 水平;多模态复杂场景仍有差距,需实测评估。

企业数据安全怎么保障? 国产厂商均提供私有化部署或企业版隔离方案。开源模型(DeepSeek、Qwen)可本地部署,数据不出内网。

如何降低调用成本? ① 选轻量/速度型模型处理简单任务;② 启用 Prompt 缓存(部分厂商支持);③ 批量请求(Batch API);④ 用 Token 计数工具 优化 Prompt 长度。


深入了解各厂商DeepSeek API 接入详解 · 通义千问接入与对比 · 六大模型横向对比大表

分类导航国产模型专题

实用工具价格对比表 · Token 计数器

有接入需求?加入候补名单,获取力达云企业接入方案优先体验资格。