Groq、DeepInfra、Novita 怎么选?只比能查证的三件事
搜”推理平台对比”,出来的文章十有八九在比谁更快、谁更强、谁更稳。你去翻那些数字的出处,多数翻不到——不是测试环境没写,就是测试时间没写,再不然就是直接抄了另一篇同样没出处的文章。
这类内容对做选型的人没什么用。真到了要签合同、要把生产流量切过去的时候,你需要的是能验证的东西。
所以这篇只比三样:接入形态、能查到的公开定价、能查到的公开限速。比不了的,我会明说比不了,而不是编一个看起来专业的结论。
接入形态:三家都是”改三处配置”,但有个隐藏差异
| 平台 | base_url | 鉴权环境变量 | 模型 ID 形式 |
|---|---|---|---|
| Groq | https://api.groq.com/openai/v1 | GROQ_API_KEY | 扁平名,如 llama-3.3-70b-versatile |
| DeepInfra | https://api.deepinfra.com/v1/openai | DEEPINFRA_TOKEN | 组织/模型,如 deepseek-ai/DeepSeek-V3 |
| Novita | https://api.novita.ai/openai | 文档写 ${API_KEY} | 组织/模型,如 deepseek/deepseek-r1 |
三家都提供 OpenAI 兼容端点,迁移成本都是”改 base_url + 换 key + 换模型 ID”。到这一步它们看起来是可互换的。
但表格里藏着两个会咬人的细节。
第一个是路径顺序。 Groq 是 /openai/v1,DeepInfra 是 /v1/openai——两段一样的东西,顺序反过来了。Novita 则两段都没有,就是 /openai 结尾。你从一家抄到另一家,如果凭肌肉记忆补个 /v1,得到的是 404,而 404 最容易让人先去怀疑模型 ID 或者 key。这三个地址必须逐字照抄官方文档,别猜。base_url 到底该填到哪一层里讲了怎么用 curl 反推正确写法。
第二个是模型 ID 形式不一致。 Groq 用扁平名,另两家用 组织/模型 两段式。这件事单看是小事,一旦你要做多平台路由就不是了:你的配置层必须为同一个业务用途维护不同平台的不同 ID,而不能指望一个字符串到处用。这也意味着切换平台时模型 ID 必须和 base_url、key 一起切——只切两样是我见过最常见的多通道事故。
顺带说一句,两段式还有大小写敏感的问题。DeepSeek-V3 不是 deepseek-v3,照抄官方文档里的大小写,别自作主张统一成小写。
价格:只有两家能比,而且只能比三行
这是本文最需要说清楚边界的部分。
Groq 不参与比价。 我查不到它公开的逐模型 token 单价,所以本文一个数字都不给它编。网上流传的那些单价说法,我没法验证,也就不转述。这不是它贵或便宜的暗示,就是字面意思:查不到。
DeepInfra 和 Novita 的公开定价页上,有三个模型口径是能对上的(均为 $ / 1M tokens,以各自官方定价页为准):
| 模型口径 | DeepInfra 输入/输出 | Novita 输入/输出 |
|---|---|---|
| DeepSeek V4 Pro | $1.30 / $2.60 | $1.6 / $3.2 |
| DeepSeek V4 Flash | $0.09 / $0.18 | $0.14 / $0.28 |
| DeepSeek V3.2 | $0.26 / $0.38 | $0.269 / $0.4 |
算一下差距(下面是按上面挂牌价做的算术):
- V4 Pro:输入差 $0.30,DeepInfra 低约 18.8%;输出差 $0.60,低约 18.8%
- V4 Flash:输入差 $0.05,DeepInfra 低约 35.7%;输出差 $0.10,低约 35.7%
- V3.2:输入差 $0.009,低约 3.3%;输出差 $0.02,低约 5%
结论只能说到这里:就这三个模型口径而言,DeepInfra 的挂牌价低于 Novita。
不能推广成”DeepInfra 全线更便宜”,理由有两个,都很实在:一是样本只有三行,二是两家的模型池本来就不一样,各自有对方没有的模型,全线比价这件事在数据上不成立。真要比,你得拿你实际会用的那个模型去两边的定价页上各查一次。
还有一点值得提:DeepInfra 的定价是三档结构(输入 / 缓存输入 / 输出),缓存输入价低一个数量级——V4-Pro 是 $0.10 对 $1.30。如果你的应用有稳定的长前缀,这一档会显著改变实际账单,而它在上面那张两列表里是看不出来的。所以”挂牌价更低”和”实际花得更少”不是一回事,到底哪家最便宜这个问题,答案取决于你的调用形态。
限速:只有一家能提前算清楚
这可能是本文最有价值的一个发现。
Groq 有公开的、逐模型的免费层限速表:
| 模型 | RPM | RPD | TPM | TPD |
|---|---|---|---|---|
| orpheus-arabic-saudi | 10 | 100 | 1.2K | 3.6K |
| orpheus-v1-english | 10 | 100 | 1.2K | 3.6K |
| llama-3.1-8b-instant | 30 | 14.4K | 6K | 500K |
| llama-3.3-70b-versatile | 30 | 1K | 12K | 100K |
| gpt-oss-120b | 30 | 1K | 8K | 200K |
| gpt-oss-20b | 30 | 1K | 8K | 200K |
| qwen3.6-27b | 30 | 1K | 8K | 200K |
| whisper-large-v3 | 20 | 2K | — | — |
(以 Groq 官方限速页为准,这类表格会变。)
DeepInfra 和 Novita 的限速数值,我没能从官方文档核实到,所以本文不写——包括”大概是多少”这种说法也不写。
于是就有了一个真实的选型维度:如果你需要在接入之前就把容量算清楚,Groq 是这三家里唯一能做到的。
这个维度比”谁更快”实在得多。速度这种事你接完自己压一次就知道了,成本也就是几美元;但容量规划做错的代价是上线以后才发现撑不住,那时候改架构就贵了。能提前拿到限速表,意味着你可以在写代码之前就回答”这个方案能不能承载我的日调用量”。
顺便说个从这张表里读出来的东西:同样是 30 RPM,llama-3.1-8b-instant 的日请求上限是 14.4K,而 llama-3.3-70b-versatile 只有 1K,差了一个数量级。选模型这件事,在免费层上决定的往往不是”够不够聪明”,而是”够不够跑”。
各家能查证的差异点
把能验证的都摊开,三家各自有这些别人没有的东西:
Groq
- 公开的逐模型限速表(上面那张)
- OpenAI 兼容有一份明确的不支持参数清单:
logprobs、logit_bias、top_logprobs、messages[].name、N(传了必须等于 1)、temperature传 0 会被转成1e-8,音频格式不支持vtt和srt - 5xx 响应不计费(官方明确说明)
- 有 498(Flex Tier 容量超限)和 499(调用方取消请求)两个自定义错误码
那份不支持参数清单值得单独看一眼。如果你的业务在用 logprobs 算置信度做分类,或者靠 n>1 采样多个候选再择优,这两件事在这里做不了——这不是性能差异,是功能边界,选型阶段就该发现,而不是迁移到一半才撞上。temperature 传 0 被转成 1e-8 这条也值得留意:它意味着”绝对确定性输出”在这里是近似而非严格成立。
DeepInfra
- 三档价结构,缓存输入独立计价且便宜一个数量级
- 定价页上能查到逐模型的三档单价
Novita
- 同时提供 GPU 资源(具体型号与价格我未核实,不写)——这对”先用 API 验证、以后可能转自建”的团队是个有意义的信号
- 模型 ID 里能看到版本快照(带日期后缀的条目),且快照与滚动别名同价
别要排名,要一个决策流程
我不打算给这三家排个一二三,因为按可验证的信息根本排不出来。但可以给一个分支流程,每个分支的答案都有本文的事实支撑:
你最在意成本可算? 选有公开定价页的那两家。它们的单价能查到、能填进表格、能算出月账单。Groq 在这个维度上目前给不了确定性。
你最在意容量可预测? 选 Groq。它是唯一能让你在接入前就算清楚配额的。
你最在意迁移成本? 看你现有的路由层。如果你已经在用两段式模型 ID 的平台,切到 DeepInfra 或 Novita 的改动更小;如果你的配置是扁平模型名,Groq 那边更顺。这个答案取决于你,不取决于平台。
你以后可能要自建? Novita 同时有 GPU 产品线,是唯一在这个路径上有连续性的。至于自建到底划不划算,自托管还是用 API里有算法。
你要做多平台回退? 三家都是 OpenAI 兼容,抽象层可以共用,但记住模型 ID 要一起切。多模型网关怎么做故障转移里有具体设计。
选型自查清单
- 你要用的那个具体模型,在各家定价页上分别是多少?(别用别人的对比表,自己查一次)
- 你的调用形态有没有稳定长前缀?有的话,三档价结构比两档价的挂牌价更值得关注。
- 你的日调用量在免费层限速下跑不跑得动?能查到限速表的平台先算这个。
- 你的业务用不用
logprobs、n>1这类参数?用的话先确认目标平台支不支持。 - 三处配置(base_url、key 环境变量、模型 ID)在你的代码里是不是绑在一起切换的?
- 路径顺序抄对了吗?
/openai/v1、/v1/openai、/openai三家各不相同。 - 有没有做过一次真实任务的小批量试跑,拿到你自己的单位成本和延迟?——这一步谁也替不了你。
最后一句:这三家的公开信息完整度差别很大,而信息透明度本身就是选型信息。一家把限速表、错误码、不支持参数都摊在文档里的平台,和一家什么都要你自己试出来的平台,运维成本是不一样的——这一点在出故障的那天体现得最清楚。