上周帮一个做法律咨询的朋友搞后端,核心就是大模型接口——用户丢一段合同条款进来,模型给出风险分析。一开始图省事直接上了 GPT-5,跑了三天,朋友跟我说账单快 600 块了,问我有没有便宜的方案。我说你等等,我拿 DeepSeek V3 跑一遍同样的 case,看看效果差多少。结果测完数据我人傻了,某些场景下 DeepSeek V3 不但便宜得离谱,输出质量还真没差多少。
先说结论
我用同一套 Prompt、同一批测试数据(200 条法律文本 + 100 条代码生成 + 50 条多轮对话),跑了完整对比。直接上表:
| 维度 | DeepSeek V3 | GPT-5 |
|---|---|---|
| 输入价格(每百万 token) | ≈ ¥1-2 | ≈ ¥15-20 |
| 输出价格(每百万 token) | ≈ ¥2-4 | ≈ ¥40-60 |
| 中文法律文本理解准确率 | 91% | 94% |
| 代码生成首次通过率 | 85% | 92% |
| 多轮对话上下文保持 | 良好 | 优秀 |
| 平均响应延迟(国内) | 800ms | 1200ms(聚合接口) |
| 综合性价比 | ★★★★★ | ★★☆ |
DeepSeek V3 的价格只有 GPT-5 的 1/8 到 1/10,质量差距在 3-7 个百分点。对大多数生产场景来说,DeepSeek V3 是 2026 年性价比最高的选择。
为什么要折腾这个对比
说实话,我以前是 GPT 铁粉。从 GPT-3.5 到 GPT-5 一路追过来,效果确实好。但 2026 年情况变了——国产模型卷得太厉害,DeepSeek V3、GLM-5、Qwen 3 全冲上来了。加上前两天看到热榜那个「用 AI 赚钱」的帖子,底下评论一堆人在算 API 成本,我才觉得这事儿值得认真测一测。
我的场景很典型:独立开发者,没有 VC 的钱烧,每一分 API 支出都得精打细算。同样的活儿,能用 1/8 的价格搞定,省下来的就是利润。
测试方案和环境
为了公平,我统一用 OpenAI 兼容协议调用两个模型,代码只改 model 参数。ofox.ai 是一个 AI 模型聚合平台,一个 API Key 可以调用 GPT-5、Claude 4.6、DeepSeek V3、GLM-5 等 50+ 模型,国内直连无需代理,支持支付宝付款。base_url 统一,代码写一份就行,不用分别管两家的鉴权和网络问题。
from openai import OpenAI
import time
import json
client = OpenAI(
api_key="your-ofox-key",
base_url="https://api.ofox.ai/v1" # 聚合接口,一个 Key 调所有模型
)
def run_benchmark(model_name: str, prompts: list[dict]) -> dict:
"""跑单个模型的完整测试"""
results = []
total_input_tokens = 0
total_output_tokens = 0
for i, p in enumerate(prompts):
start = time.time()
try:
resp = client.chat.completions.create(
model=model_name,
messages=p["messages"],
temperature=0.3,
max_tokens=2000
)
latency = time.time() - start
results.append({
"id": i,
"latency": round(latency, 2),
"output": resp.choices[0].message.content,
"input_tokens": resp.usage.prompt_tokens,
"output_tokens": resp.usage.completion_tokens,
"success": True
})
total_input_tokens += resp.usage.prompt_tokens
total_output_tokens += resp.usage.completion_tokens
except Exception as e:
results.append({"id": i, "error": str(e), "success": False})
# 别把 rate limit 打满了
time.sleep(0.5)
return {
"model": model_name,
"total_input_tokens": total_input_tokens,
"total_output_tokens": total_output_tokens,
"avg_latency": round(sum(r["latency"] for r in results if r["success"]) / len([r for r in results if r["success"]]), 2),
"success_rate": len([r for r in results if r["success"]]) / len(results),
"results": results
}
# 分别跑两个模型
deepseek_result = run_benchmark("deepseek-chat", test_prompts)
gpt5_result = run_benchmark("gpt-5", test_prompts)
场景一:中文法律文本分析
这是朋友的核心业务场景。给模型一段合同条款,让它找出潜在风险点。
测试 Prompt 长这样:
legal_prompt = {
"messages": [
{"role": "system", "content": "你是一名资深法律顾问,擅长合同条款风险分析。请逐条分析以下合同条款的潜在风险,给出修改建议。"},
{"role": "user", "content": """
第三条:乙方应在合同签订后30个工作日内完成全部交付工作。
如因乙方原因导致延期,每延迟一日,乙方应向甲方支付合同总金额的5%作为违约金。
甲方有权在任何时间、以任何理由单方面解除合同,且无需承担任何费用。
"""}
]
}
200 条跑完,我找了一个律师朋友帮忙打分(10 分制):
| 评估项 | DeepSeek V3 | GPT-5 |
|---|---|---|
| 风险点识别完整度 | 8.7 | 9.1 |
| 法律术语准确性 | 8.5 | 8.9 |
| 修改建议可操作性 | 8.9 | 8.8 |
| 中文表达流畅度 | 9.2 | 8.6 |
中文表达流畅度上 DeepSeek V3 反超了。GPT-5 偶尔会蹦出翻译腔,比如「鉴于上述条款的单方面性质」这种,DeepSeek V3 说人话的能力明显更强。修改建议的可操作性两者几乎打平。
成本上,这 200 条测试,DeepSeek V3 花了不到 2 块钱,GPT-5 花了 17 块多。
场景二:代码生成
100 条代码生成任务,涵盖 Python、TypeScript、SQL,难度从 LeetCode Easy 到实际业务逻辑都有。评判标准简单粗暴——丢进去跑,过了就算对。
code_prompt = {
"messages": [
{"role": "system", "content": "你是一个高级程序员。直接输出代码,不要解释。"},
{"role": "user", "content": "用 Python 实现一个 LRU Cache,支持 get 和 put 操作,时间复杂度 O(1)。包含完整的类定义和类型注解。"}
]
}
结果:
| 指标 | DeepSeek V3 | GPT-5 |
|---|---|---|
| 首次运行通过率 | 85/100 | 92/100 |
| 修一次 Prompt 后通过率 | 94/100 | 97/100 |
| 平均代码行数 | 42 行 | 38 行 |
| 含类型注解比例 | 78% | 91% |
GPT-5 在代码生成上确实更强,TypeScript 相关任务类型推导更准。但 DeepSeek V3 的 85% 首次通过率对大多数场景已经够用,何况价格差了将近 10 倍。
写 CRUD 业务代码,DeepSeek V3 绰绰有余。复杂的类型体操或者算法题,GPT-5 确实好一档。
场景三:多轮对话上下文保持
这个是很多人忽略的维度。我设计了 50 组多轮对话,每组 8-12 轮,中途故意切换话题再切回来,看模型能不能记住之前的上下文。
GPT-5 在这方面明显更强。到第 8 轮以上,DeepSeek V3 大概有 15% 的概率会「忘掉」前面的关键信息,GPT-5 只有 5% 左右。如果你的产品是客服、多轮问答这类场景,这个差距需要认真考虑。
踩坑记录
坑 1:DeepSeek V3 的 JSON mode 有时候不太稳
Prompt 里明确要求输出 JSON 格式,DeepSeek V3 大概有 3-5% 的概率会在 JSON 外面包一层 markdown 的 ```json 标记。GPT-5 几乎不会。解决办法是后处理加一个 strip:
import re
def extract_json(text: str) -> dict:
"""从模型输出中提取 JSON,兼容被 markdown 包裹的情况"""
# 先试直接 parse
try:
return json.loads(text)
except json.JSONDecodeError:
pass
# 去掉 markdown 代码块标记
pattern = r'```(?:json)?\s*([\s\S]*?)\s*```'
match = re.search(pattern, text)
if match:
return json.loads(match.group(1))
raise ValueError(f"无法解析 JSON: {text[:100]}...")
坑 2:并发太高会触发 429
一开始把 sleep 设成 0.1 秒,DeepSeek V3 跑到第 50 条左右就开始 429 了。改成 0.5 秒就稳了。GPT-5 倒是没遇到这个问题,可能聚合层做了更好的限流。
坑 3:temperature 对两个模型的影响不一样
同样设 0.3,DeepSeek V3 的输出波动比 GPT-5 大。后来对 DeepSeek V3 改成 0.1 才得到比较稳定的输出。这个在生产环境里挺重要的,一致性差的话用户体验会忽好忽坏。
什么场景选谁
选 DeepSeek V3:
- 中文内容生成、摘要、翻译(中文能力真的强)
- 预算敏感的项目(个人开发者、小团队)
- 批量处理任务(成本差距被放大)
- 对延迟要求高的场景(国内模型天然优势)
选 GPT-5:
- 复杂代码生成,尤其是 TypeScript/Rust 这种强类型语言
- 长上下文多轮对话
- 需要严格 JSON 结构化输出
- 英文场景
我的实际做法:混着用。 简单任务走 DeepSeek V3 省钱,复杂任务走 GPT-5 保质量。用聚合接口改个 model 参数就行,代码层面零成本切换。
小结
2026 年选 API,问题不是「哪个最好」,而是「哪个场景用哪个最划算」。DeepSeek V3 在中文场景下的性价比确实炸裂,1/8 到 1/10 的价格换来 3-7% 的质量差距,大部分业务完全可以接受。GLM-5 也出来了,国产这边的选择越来越多,等我有空再跑一期对比。
那个法律咨询项目,朋友把主力模型换成 DeepSeek V3 之后,月账单从 2000 多降到 300 不到。省下来的钱请我吃了顿烧烤,这波不亏。