国产大模型API横评:六个型号到底该填哪个,价格、场景、并发实测一次讲透

先把结论放前面:六个型号怎么分工

预算紧、跑量最大,填 deepseek-v3.2-thinking,0.049 元一次;中文长文和语感交给 kimi-k2.5;复杂代码和难推理用 deepseek-v4-pro-thinking;批量清洗、分类、打标给 deepseek-v4-flash-thinking,0.05 元一次;要思考链的中文推理题用 deepseek-r1-thinking。多模态和超长上下文确实要拼,再上 gemini-3.1-pro-preview,同样 0.09 元一次。

一句话选型

先看定位,再看参数

榜单上浮动的几分,落到业务里往往看不出区别。拉开体验的是定位:有的型号把力气花在长文本理解上,有的花在推理链上,有的花在代码调用上。先看清手里这批请求属于哪类——短问答、长文档、代码补全、结构化抽取,四类的选择完全不同。

六型号横评总表

横评总表

型号单价定位thinking 开销适合场景不适合场景
deepseek-v3.2-thinking0.049 元/次通用主力、跑量底座中等,默认开日常问答、写文案、翻译、客服脚本超长文档、多模态
deepseek-r1-thinking0.049 元/次推理专精高,思考链完整数学题、逻辑题、要展示步骤的推理低延迟对话、海量短文本
deepseek-v4-flash-thinking0.05 元/次快速批处理低,出结果快数据清洗、分类、打标、格式转换复杂代码重构、长篇写作
deepseek-v4-pro-thinking0.09 元/次国产能力上限高,思考更充分复杂代码、架构建议、多步推理海量低价值请求
kimi-k2.50.09 元/次中文长文与语感较低长文写作、润色、公文、口播稿多模态、重工具调用
kimi-k2.60.09 元/次长文升级版本较低长文档摘要、结构化改写极限省钱跑量

怎么读这张表

看两列就够了:单价和 thinking 开销。带 thinking 的型号在返回正文前会先生成一段推理,这段推理同样吃时间,同一道题在不同型号上的耗时可差出几倍。延迟敏感的接口,比如自动补全、实时客服,建议避开思考链重的型号。反过来,一次就要拿到准确结论的场景,思考链省下的是返工成本。

价格分档:0.049 / 0.05 / 0.09 三档

三档是怎么分出来的

档位型号单价
0.049 档deepseek-v3.2-thinking、deepseek-r1-thinking0.049 元/次
0.05 档deepseek-v4-flash-thinking0.05 元/次
0.09 档deepseek-v4-pro-thinking、kimi-k2.5、kimi-k2.60.09 元/次

三档之间差不到一分钱,乘上请求量就不是这个数了。一天一万次请求,0.049 档要 490 元,0.09 档要 900 元,差 410 元;按月算是一万二。

每档各配什么活

别只看单价就下单

0.049 和 0.05 的差距不构成决策依据。真正影响账单的是重试率:一次失败请求重打一遍,等于单价翻倍。稳定性差一档,比单价差一档贵得多,所以成功率和单价要放一起看。

按次计费 vs 按量计费:塞 3 万 token 算一笔账

按次计费的规则先记牢

一次请求固定价,输入长度不影响价格。你贴进去 500 字的需求是 0.049 元,贴进去三万字的技术文档还是 0.049 元。这条规则是后面所有成本结论的前提。

3 万 token 输入的两笔账

deepseek-v3.2-thinking 举例,一次请求塞进 3 万 token 输入:

同一段输入,按次计费便宜了将近一半。输入再翻一倍多,按次价格纹丝不动,按量价格会继续往上走。

输入长度按次计费(deepseek-v3.2-thinking)按量计费(输入 ¥3/百万 token)
5 千 token0.049 元约 0.015 元
3 万 token0.049 元约 0.09 元
10 万 token0.049 元约 0.3 元

结论直接拿去用:输入越长,按次计费越划算。这条正好对上「把整个文件贴给模型改」这种用法——大文件不必切块,整份丢进去,成本一分不多。切块反而更贵,切成五块就是五次请求。

什么时候按量计费反而合适

短输入、高并发、输出极短的场景,比如只回一个分类标签,几百 token 就完事,按量计费的单次成本比按次低。判断很简单:单次输入经常低于一万 token 就去算按量;经常几万 token 起,按次更稳,预算也好预估。

国产和海外差在哪:四项硬差距

代码工程落地

改单文件、调单个函数,国产型号早就够用。差距出现在跨文件重构上:一次要动十几个文件、还要保持接口一致时,海外那批型号(claude-sonnet-4-5-thinking,0.09 元/次)的上下文纪律更稳,更不容易忘掉前文改过什么。你的做法很直接:日常单文件修改用国产,跨模块重构切海外,同一张 Key 换个型号名就行。

超长上下文

国产这六个型号的强项在十万字级的中文文档处理。再往上,跨章节的信息串联会开始丢,前面章节的细节到后面就记不住。真要处理上百页的合同、手册、招投标文件,海外的 gemini-3.1-pro-preview(0.09 元/次)更扛得住。别硬塞,超过窗口前先做一层检索,检索用便宜型号跑就够。

多模态是弱项,得直说

本文横评的六个国产型号基本是纯文本能力。识图、看截图、读 PDF 版式,不是它们的战场。项目要做票据识别、界面截图分析、图表理解,这一层直接选海外型号,别在国产型号上反复试。把多模态请求单独走一条通道,文本请求留给国产,这条分工省下的调试时间比省下的钱值钱。

生态工具链成熟度

海外的 SDK、文档、社区问答积累更厚,冷门报错更容易搜到现成答案。国产这批走 OpenAI 兼容协议,好处很实在:任何支持自定义地址的客户端都能接,Chatbox、Cherry Studio、NextChat、Cline、RooCode 填地址加 Key 就能跑。差距在细节——参数兼容的边角情况、流式返回的异常分支,踩到的概率略高,上线前留半天调试时间。

并发与稳定性怎么测:5 / 20 / 50 三档压测

压测怎么设

固定三档并发 5、20、50,每档各打 200 次请求,任务用同一条中文短请求,比如「把这句话改成 20 字以内的标题」。记录四项:成功率、P50 延迟、P95 延迟、错误码分布。200 次是样本下限,低于这个量 P95 没有参考价值。

怎么区分模型慢和平台限流

这两件事长得很像,靠错误码和时间曲线区分:

拿到结论再动:限流就降并发或者加退避,模型慢就换档位或者换型号。别在限流的时候反复加并发,那只会把错误率推得更高。

三档并发的参考区间

并发成功率P50P95主要错误码
599% 以上约 2s约 6s偶发 timeout
2097% 左右约 3.5s约 11s少量 429
5088% 左右约 7s约 26s429 为主,夹杂 500

上表是参考区间,不是平台承诺的固定值,网络和时段都会带来差异。跑一遍自己的数据再定并发上限,这半天值得花。

一份可以直接跑的横向压测脚本

压测脚本

import asyncio, time, statistics, os
from openai import AsyncOpenAI

API_KEY = os.environ["XYUAPI_KEY"]
BASE_URL = "https://xyuapi.top/v1"

# 型号名必须和 /v1/models 返回的 id 一模一样
MODELS = {
    "deepseek-v3.2-thinking": 0.049,
    "deepseek-r1-thinking": 0.049,
    "deepseek-v4-flash-thinking": 0.05,
    "deepseek-v4-pro-thinking": 0.09,
    "kimi-k2.5": 0.09,
    "kimi-k2.6": 0.09,
}

TASK = "把这句话改写成20字以内的标题:远程团队如何用一个接口管理多家大模型。"
REPEAT = 30        # 每个型号发多少条
CONCURRENCY = 5    # 并发上限

client = AsyncOpenAI(api_key=API_KEY, base_url=BASE_URL)
sem = asyncio.Semaphore(CONCURRENCY)


async def one_call(model):
    async with sem:
        t0 = time.perf_counter()
        try:
            resp = await asyncio.wait_for(
                client.chat.completions.create(
                    model=model,
                    messages=[{"role": "user", "content": TASK}],
                    timeout=120,
                ),
                timeout=120,
            )
            ok = bool(resp.choices[0].message.content)
            code = "ok"
        except Exception as e:
            ok, code = False, type(e).__name__
        return model, ok, code, time.perf_counter() - t0


async def bench(model):
    results = await asyncio.gather(*[one_call(model) for _ in range(REPEAT)])
    lat = sorted(r[3] for r in results if r[1])
    ok_n = sum(1 for r in results if r[1])
    p50 = statistics.median(lat) if lat else 0.0
    p95 = lat[min(int(len(lat) * 0.95), len(lat) - 1)] if lat else 0.0
    errs = {}
    for r in results:
        if not r[1]:
            errs[r[2]] = errs.get(r[2], 0) + 1
    unit = MODELS[model]
    return model, ok_n / REPEAT, p50, p95, unit, unit * REPEAT, errs


async def main():
    rows = []
    for m in MODELS:
        rows.append(await bench(m))
    print("%-28s%9s%8s%8s%10s%9s" % ("model", "success", "P50", "P95", "cost/req", "total"))
    total = 0.0
    for m, sr, p50, p95, unit, cost, errs in rows:
        total += cost
        print("%-28s%8.1f%%%7.2fs%7.2fs%10.3f%9.2f" % (m, sr * 100, p50, p95, unit, cost))
        if errs:
            print("%-28s errors: %s" % ("", errs))
    print("all models total cost: %.2f CNY" % total)


asyncio.run(main())

脚本怎么用

  1. pip install openai,Key 放进环境变量 XYUAPI_KEY
  2. 先把 REPEAT 改成 3 跑一遍,确认六个型号名都能通,再调回 30 或更高
  3. CONCURRENCY 从 5 往上加,观察成功率从哪一档开始明显下滑
  4. 单次成本直接拿按次单价乘请求数,不用自己数 token
  5. 想对比海外型号,只要在 MODELS 里加一行型号名和单价,脚本不用改别的

常见坑与排查

坑一:型号名写错直接返回 model not found

拿两行 curl 就能把型号名验完:

# 1) 列出全部可用型号,把返回的 id 复制出来照着填
curl -s https://xyuapi.top/v1/models \
  -H "Authorization: Bearer $XYUAPI_KEY"

# 2) 打一次最小对话请求,确认 Key 和型号都能用
curl -s https://xyuapi.top/v1/chat/completions \
  -H "Authorization: Bearer $XYUAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-v3.2-thinking","messages":[{"role":"user","content":"说一句你好"}],"max_tokens":32}'

/v1/models 返回的结构长这样,data 里的 id 就是能填的型号名:

{
  "object": "list",
  "data": [
    {"id": "deepseek-v3.2-thinking", "object": "model"},
    {"id": "kimi-k2.5", "object": "model"}
  ]
}

型号名填错,接口会回一条类似 {"error":{"message":"The model deepseek-v3.2 does not exist ... model not found","type":"invalid_request_error"}} 的错误。排查按三步走:

  1. 先打 /v1/models,把返回的 id 列表存成文件
  2. 在列表里逐字比对你写的名字,注意 -thinking 后缀不能丢,kimi-k2.5 中间那个点也要带上
  3. 比对无误再发对话请求,一轮只改一个变量

坑二:并发打太高被限流,退避重试怎么写

import asyncio, random
from openai import AsyncOpenAI

client = AsyncOpenAI(api_key="在控制台生成的Key", base_url="https://xyuapi.top/v1")


async def call_with_retry(model, messages, max_try=5):
    for attempt in range(max_try):
        try:
            return await client.chat.completions.create(
                model=model, messages=messages, timeout=120
            )
        except Exception as e:
            status = getattr(e, "status_code", None)
            text = str(e).lower()
            # 429 限流、5xx 上游抖动、超时:这三类都值得重试
            retryable = status in (429, 500, 502, 503, 504) or "timeout" in text
            if not retryable or attempt == max_try - 1:
                raise
            # 指数退避加随机抖动,避免所有请求同一时刻再撞上去
            wait = min(2 ** attempt, 30) + random.uniform(0, 1)
            print("retry %d after %.1fs, status=%s" % (attempt + 1, wait, status))
            await asyncio.sleep(wait)

两个细节决定这套重试有没有用。随机抖动必须加,固定间隔会让失败请求同时回来,把限流撞成第二轮。重试次数要有上限,撞满五次就让它失败并记日志,无限重试只会把额度烧在同一个坏请求上。参数校验类错误(400、404)不要重试,重试一百次也是同样结果。

坑三:超时设太短,把慢请求误判成失败

带 thinking 的型号先生成推理再出正文,复杂题跑两三分钟是常事。超时设 30 秒,会把正常请求判成失败,再重试一遍就是白花两次钱。建议设 120 到 300 秒并开启流式:内容边生成边返回,用户能看到字在动,感知等待明显变短,哪怕总耗时没变。

选型结论

预算低、跑量最大

deepseek-v3.2-thinking,0.049 元/次。这是整张价格表里最低的档位之一,通用能力够用,把它当底座,先让它跑,跑不动再往上换。一天一万次请求不到 500 元。

中文长文和语感

kimi-k2.5,0.09 元/次。长文写作、润色、公文、口播稿,中文的句子节奏更自然,读起来不像翻译腔。写长内容别省这个钱,返工一次的时间成本远超四分钱差价。kimi-k2.6 同样 0.09 元,长文档摘要和结构化改写交给它。

复杂代码与推理

deepseek-v4-pro-thinking,0.09 元/次。要把国产效果顶到上限就是它,跨文件改动、架构建议、多步推理都放这里。这类请求量通常不大,单价高一点不心疼。

批量清洗、分类、打标

deepseek-v4-flash-thinking,0.05 元/次。出结果快是它的价值,十万条数据的分类任务,快一倍就是省几个小时。判断标准很清晰:答案短、容错高、量大,三样都占就给它。

需要思考链的中文推理题

deepseek-r1-thinking,0.049 元/次。数学题、逻辑推演、要展示步骤的题目,思考链完整,价格还落在 0.049 档。它和 deepseek-v3.2-thinking 同价,选谁看你要不要看推理过程。

什么时候才值得切海外型号

只在这三种情况下切:要识图看版式、要处理上百页的超长上下文、要跨十几个文件做大重构。这时候看 gemini-3.1-pro-preview(0.09 元/次)或 claude-sonnet-4-5-thinking(0.09 元/次)。同一张 Key、同一个接口,改个型号名就切过去了,业务代码一行都不用动。

你的场景填哪个型号单价
日常问答、跑量deepseek-v3.2-thinking0.049 元/次
中文长文写作kimi-k2.50.09 元/次
复杂代码与推理deepseek-v4-pro-thinking0.09 元/次
批量清洗分类打标deepseek-v4-flash-thinking0.05 元/次
带步骤的中文推理题deepseek-r1-thinking0.049 元/次
多模态与超长上下文gemini-3.1-pro-preview0.09 元/次

先跑一遍上面的压测脚本,拿到你自己网络下的成功率和延迟,再照结论表填型号。顺序是:先定请求类型,再对价格档位,最后用压测数据兜底。反过来容易为用不上的能力多付钱。

相关阅读

🚀 想要立即使用?来小鱼API体验全系列AI模型

查看全部产品

支持Gemini / Claude / GPT / Grok / DeepSeek · 国内直连 · 支付宝/微信