TL;DR: 2026 年领先的 OpenAI 兼容推理 API 按字母顺序为:DigitalOcean(无服务器推理)、Fireworks AI、Groq、Nebius Token Factory、OpenRouter 和 Together AI。这六种都只需更改基础 URL 和 API 密钥即可使用官方 OpenAI SDK,并且都按公布的费率按 token 收费。真正的区别在于它们提供的模型、运行速度以及对 OpenAI API 的支持程度,尤其是在工具调用、流式传输和嵌入方面。
推理 API 在接受相同的请求并返回与 OpenAI API 相同的响应时,被视为 OpenAI 兼容。实际上,这意味着三点:它使用与 OpenAI 的 /v1/chat/completions 端点相同的请求和响应格式(理想情况下还包括 /v1/embeddings 和 /v1/models),以相同的方式处理身份验证(在 Authorization 头中发送 Bearer 令牌的 API 密钥),因此官方 OpenAI SDK 可以在不做任何更改的情况下与其配合使用,只需将其指向不同的服务器。切换意味着更改两个值:
client = OpenAI(
base_url="https:///v1/" , # changed
api_key=os.getenv("PROVIDER_API_KEY"), # changed
)
# everything else stays the same
这就是承诺。实际上,没有任何提供商能做到100%兼容。有些提供商对 OpenAI API 的支持更多,而另一些则较少,差距通常体现在边缘情况,而不是基本请求中。以下三个领域在生产环境中最常出现问题:
工具调用在不同提供商之间表现不同。工具调用(也称为函数调用)是一项功能:您将应用程序的函数以 JSON 模式的形式描述给模型,模型会返回“使用这些参数调用此函数”,而不是纯文本。这是驱动代理的机制。这也是 OpenAI API 中最新且最复杂的部分,因此提供商对其一致性复制最差:OpenAI 不断在更改它(strict 结构化输出模式、并行工具调用、参数如何以块流式传输),而每个提供商的实现反映了不同的时间点。一个具体的例子:您的代理框架在工具定义中设置 strict: true,在 OpenAI 上这能保证模型的参数完全匹配您的模式。如果提供商静默忽略该标志,则会返回缺少或类型错误字段的参数。请求不会报错,但当您的代码尝试使用结果时会崩溃。如果您在运行代理,这应该是首要测试的内容。
流式响应的行为并不完全相同。流式传输是聊天应用逐字显示文本的方式:服务器不会等待完整答案,而是通过一个连接以小块形式发送数据(这种格式称为服务器发送事件)。所有提供商使用相同的基本块格式,但边缘细节有所不同。
三个例子。OpenAI 历史上不会在流式响应中包含令牌数(使用统计),除非您通过 stream_options={"include_usage": true} 请求;而一些提供商总是会发送这些数据,这可能是您代码未预期的额外信息。如果您设置了停止序列(告诉模型在哪里停止的字符串,例如 "###"),一些提供商会在返回文本末尾包含该字符串,而 OpenAI 会将其截断,因此您的输出可能会带有不需要的尾随字符。此外,OpenAI 现在除了原始的 Chat Completions 端点外,还提供了一个名为 Responses API 的较新端点;对其的支持各不相同(一些提供商同时提供两者,另一些仅提供 Chat Completions),因此如果您的代码是针对 Responses 编写的,请在假设它能工作之前先进行检查。
不是每个端点和参数在所有地方都存在。 OpenAI 的 API 不仅限于聊天:有独立的端点用于嵌入(将文本转换为用于搜索的向量)、批处理(以折扣一次性提交许多请求)和音频(语音转文本和文本转语音)。每个提供商都覆盖聊天;其余部分的覆盖情况各不相同,因此请检查您使用的每个端点。嵌入值得仔细研究:大多数提供商都提供嵌入,但模型不同,且并非所有提供商都支持用于设置向量大小的 dimensions 参数。如果嵌入是您迁移的一部分,请单独检查特定模型和参数,而不是聊天。
同样的情况也适用于单个请求参数。以下三个参数常见失败:logprobs(返回每个生成 token 的概率分数),logit_bias(使特定 token、由 ID 标识的词片更可能或不太可能出现),以及 n 大于 1(要求对同一提示返回多个答案)。当提供商不支持某个参数时,会以两种方式之一失败:有些会以 400 错误拒绝请求(Groq 就是这样,至少能立即告诉您),其他则接受请求并悄悄忽略该参数,这更糟,因为您的代码会运行但不会按您预期的方式工作。
一个简单的经验法则:如果您的应用仅使用标准设置(温度、最大 token)发送聊天请求且不进行流式传输,那么下面列出的每个提供商都是真正的即插即用。您依赖的每项额外功能(流式工具调用、保证的 JSON 输出、嵌入、概率分数)都会减少无需更改即可工作的提供商列表。
下面的每个提供商都根据同样的六项指标进行评估,这些指标列出的顺序通常决定是否切换。
提供商按字母顺序排列。定价来自各提供商的官方定价页面,于 2026 年 7 月核对,使用跨提供商相同的两个模型,以便直接比较数字:GPT-OSS-120B 和 Llama 3.3 70B。速度和延迟数据来自 Artificial Analysis 的 GPT-OSS-120B 提供商基准测试(10K token 输入)的中位数测量(如有);Nebius 的定价和速度数据以其 Token Factory 控制台(2026 年 7 月)所列为准。价格和性能经常变动,因此在做出决定前请查看相关来源。
| 提供商 | 目录 | 示例定价(每100万token,输入/输出) | 速度与延迟 | 与OpenAI API的不同之处 |
|---|---|---|---|---|
| DigitalOcean AI平台 | 开放+封闭(OpenAI、Anthropic、Meta、Mistral、DeepSeek) | GPT-OSS-120B:$0.10 / $0.70;Llama 3.3 70B:$0.65 / $0.65 | 230 t/s,DeepSeek V3.2在10K输入下TTFT 0.96秒(Artificial Analysis;DO不在AA的GPT-OSS-120B面板中) | 语音转文本不在所列端点中;视频和fal模型使用DO特定的异步端点 |
| Fireworks AI | 仅开放 | GPT-OSS-120B:$0.15 / $0.60(标准),$0.18 / $0.72(优先);Llama 3.3 70B:$0.90(基于大小的层级) | 651.8 t/s,首次回答token时间5.14秒(Artificial Analysis) | 文档记录的差异:max_tokens 会被调低而不是报错(可配置);流式返回使用统计 |
| Groq | 仅开放,运行在LPU(语言处理单元)硬件上 | GPT-OSS-120B:$0.15 / $0.60;Llama 3.3 70B Versatile:$0.59 / $0.79 | 482.1 t/s,首次回答token时间4.91秒(Artificial Analysis) | logprobs、logit_bias、top_logprobs、messages[].name 返回400;n 必须等于1 |
| Nebius Token Factory | 开放(60多个模型) | GPT-OSS-120B:$0.15 / $0.60;Llama 3.3 70B Instruct:$0.13 / $0.40(Token Factory控制台) | GPT-OSS-120B上40 t/s,Llama 3.3 70B上25 t/s(Token Factory控制台);Base和Fast版本;99.9% SLA专用端点 | 除OpenAI的API外,还接受vLLM特有的设置;没有封闭模型 |
| OpenRouter | 路由器,而非托管方:来自其他提供商的300多个开放+封闭模型 | 提供商直传 + 5.5% 积分购买费 | 取决于路由到的提供商 | 延迟和具体行为因每次请求的底层提供商而异;超过100万次请求/月后收取5% BYOK费用 |
| Together AI | 开放文本模型(总共200多个,包括 |
关于延迟数字的说明:GPT-OSS-120B 是一个推理模型,因此 Artificial Analysis 的 “首个答案 token 时间” 包含了模型在答案开始之前的思考时间,这就是为什么这些数字是以整秒而不是毫秒给出的原因。DigitalOcean 的数字同样是 Artificial Analysis 的测量结果,但基于不同的模型(DeepSeek V3.2,相同的 10K-token 输入),因为 DO 不在 AA 的 GPT-OSS-120B 小组的提供商名单中;请将其视为粗略的比较,而不是精确的比较。
从表格中可以看出两点。首先,没有任何提供商是 100% 即插即用的:每个提供商在某种程度上都与 OpenAI 的 API 有所不同,而那些公开记录这些差异的提供商比那些在生产环境中才发现差距的提供商更易于迁移。
其次,同一开放模型在不同提供商之间的价格相近,且开放模型的成本远低于大型封闭模型(Llama 3.3 70B 在这些提供商之间的价格为每百万输入 token 0.13 美元至 1.04 美元);实际上,较大的差异往往在于提供商提供哪些模型以及他们支持多少 OpenAI 的 API。通过兼容端点转售的封闭模型,其定价通常会紧贴模型所有者的费率,因此其主要优势在于一切都在一个端点后面,而不是省钱。
提供商按照与表格相同的字母顺序出现。
https://inference.do-ai.run/v1/),该端点既服务开放权重模型(Llama、Mistral、DeepSeek、GPT-OSS),也服务来自 OpenAI 和 Anthropic 的封闭模型,使其成为少数几个通过更换基础 URL 即可获得 Claude 和 GPT 级模型(与开放模型并存)的提供商之一,据 DigitalOcean 的文档。
每个模型在 DO 的定价页面 上都有每个 token 的费率,对于商业模型,这些费率与模型所有者直接收取的费用相匹配:GPT-OSS-120B 的运行费用为每百万输入/输出 token 0.10/0.70 美元,Llama 3.3 70B 的费用为固定 0.65 美元,封闭模型则按模型所有者的费率计费。在速度方面,Artificial Analysis 将 DigitalOcean 测量为每秒 230 token,首 token 延迟为 0.96 秒,在 DeepSeek V3.2 上使用 10K-token 输入,这是在该模型上测试的 12 家提供商中输出速度最高的,正如 DO 的工程博客 所报道的,图表来源于 Artificial Analysis 的 DeepSeek V3.2 基准测试。它还提供了比大多数提供商更多的端点,据 DO 的 API 端点文档 所述:Chat Completions、较新的 Responses API、嵌入式、图像生成和文本到语音均作为 OpenAI 风格的端点工作,此外还有一个 Anthropic 兼容的 /v1/messages 端点,用于 Claude Code 和类似的代理工具。OpenAI Python SDK、LangChain 和 LlamaIndex 无需更改即可使用。需要注意的是两个缺口:语音转文本(转录)不在列出的端点中;视频生成和 fal 模型使用 DO 特定的异步端点,而不是 OpenAI 风格的端点。
Fireworks 在 https://api.fireworks.ai/inference/v1 提供开放模型(Llama、Qwen、DeepSeek、Kimi、GLM、GPT-OSS),并且它 清晰地记录了它与 OpenAI 的不同之处,这是一种值得奖励的诚实做法。有两个已文档化的区别:当您的 prompt 加上 max_tokens 超过模型的上下文窗口时,OpenAI 会返回错误,而 Fireworks 默认会降低 max_tokens 以适应(您可以通过 context_length_exceeded_behavior 设置恢复 OpenAI 的错误行为),并且 Fireworks 在流式响应的最后一个块中包含 token 使用统计,而 OpenAI 历史上并未这样做。
根据 Fireworks 的无服务器定价,GPT-OSS-120B 在标准路径上每百万 token 成本为 $0.15/$0.60(优先路径为 $0.18/$0.72),而没有单独定价的模型(包括 Llama 3.3 70B)按规模定价(超过 16B 参数的模型固定为 $0.90)。缓存输入按模型享受折扣,批量请求按正常费率的 50% 计费。在速度方面,Artificial Analysis 将 Fireworks 在 GPT-OSS-120B 上测量为每秒 651.8 token,是在此处比较的提供商中最快的。
Groq 在其自定义芯片 LPU(Language Processing Unit)上运行开放模型,该芯片专门为快速推理而非 GPU 构建,位于端点 https://api.groq.com/openai/v1 之后。其 OpenAI 兼容性文档 明确说明了缺失的内容:logprobs、logit_bias、top_logprobs,以及 messages[].name 返回 400 错误,且 n 必须等于 1。
同一页面上的另一个小细节:temperature 精确为 0 时会被转换为一个非常小的数字(1e-8),而不是直接使用。根据 Groq 的定价页面,GPT-OSS-120B 的价格为 $0.15/$0.60 每百万 token,而 Llama 3.3 70B Versatile 为 $0.59/$0.79 每百万输入/输出 token;Artificial Analysis 将 Groq 在 GPT-OSS-120B 上的速度测量为每秒 482.1 token。其模型目录比 Together 或 Fireworks 更小。Groq 为其硬件调校一组选定的模型,而不是托管所有模型。
Nebius Token Factory 通过 OpenAI 兼容的 API 提供 60+ 款开放模型,按模型费率在 Token Factory 控制台 和专用端点发布,并提供 99.9% 正常运行时间保证(SLA),适用于生产环境。根据控制台(2026 年 7 月)数据,GPT-OSS-120B 的价格为每百万输入/输出 token 0.15/0.60 美元,标称每秒 40 token;Llama 3.3 70B Instruct 的价格为每百万输入/输出 token 0.13/0.40 美元,每秒 25 token,在此比较的提供商中是 Llama 3.3 70B 的最低价格。每款模型提供 Base 和 Fast 两个版本:Fast 版本使用更小的批次、每请求更多的计算以及推测解码来缩短等待时间,单价更高;您只需在 API 中的模型名称后添加 -fast 即可选择该版本,具体参见 Nebius 文档。值得注意的是,API 接受 vLLM 的全部设置(vLLM 是 Nebius 构建的开源推理引擎),这比 OpenAI 的 API 所接受的更多。这对于需要 OpenAI 未提供的控制功能的团队很有用,尽管 vLLM 特有的设置不会被带回。就像 Fireworks 一样,目录仅开放给模型。
OpenRouter 是一种不同的服务:不是托管提供商,而是路由器。它位于数十家其他提供商之前,通过一个 OpenAI 兼容的端点(https://openrouter.ai/api/v1)和一个 API 密钥,为您提供 300+ 款开放和封闭模型。每 token 的价格会直接从底层提供商处透传,不作修改。
OpenRouter 通过在您购买积分时收取 5.5% 的费用来赚取收入(最低 $0.80,因此充值 $100 后大约剩下 $94.50 用于推理,而小额充值则按比例收取更高费用),以及对每月超过 100 万次的自带密钥(bring-your-own-key)请求收取 5% 的费用,详见 OpenRouter 定价页面。中间的额外层带来的权衡是:由于每个请求可能由不同的底层提供商处理,速度、确切的流式行为以及工具调用的表现可能会因请求而异,尽管路由偏好允许您固定特定的提供商。
Together AI 在文本、图像、视频、代码和音频领域通过 OpenAI 兼容端点提供 200+ 模型,并为每个模型公布了定价:文本模型按 token 计费,其余按图像、视频或字符计费。GPT-OSS-120B 的价格为 $0.15/$0.60,Llama 3.3 70B 为每百万 token 固定 $1.04,详见 Together 的定价页面。Artificial Analysis 表明 Together 在 GPT-OSS-120B 上达到 581.6 token/秒,且在此处比较的开源模型托管服务中首个回答 token 的延迟最低(3.96 秒)。
其聊天目录以开放权重模型为核心,没有 GPT 或 Claude 级别的封闭文本模型,尽管它也提供专有的图像、视频和音频模型(GPT Image、Veo、Sora),与开放模型一起提供。使其与众不同的是速度工程,包括 ATLAS,其从实时流量中学习的推测解码系统;折扣价的批处理 API;以及预配置吞吐量层级(PTUs),即您提前购买的保留容量。Together 还提供 LoRA 和完整微调(监督和 DPO),按训练 token 计费,微调后的模型随后可以在 Together 上部署,如果您计划最终自定义一个开放模型,这一点尤为重要。
代码更改本身只有两行。以 DigitalOcean 为例(上述每个提供者的模式相同,只需交换基础 URL 和密钥):
from openai import OpenAI
import os
client = OpenAI(
base_url="https://inference.do-ai.run/v1/",
api_key=os.getenv("MODEL_ACCESS_KEY"),
)
response = client.chat.completions.create(
model="openai-gpt-oss-120b",
messages=[{"role": "user", "content": "Hello"}],
)
其余的工作是迁移实际上需要时间的地方:
模型名称映射。 gpt-4o 在另一家提供商上不存在。您将映射到具有类似能力的模型(llama-3.3-70b-instruct、gpt-oss-120b 等),并且模型 ID 随提供商而不同,因此应查询提供商的 /v1/models 端点,而不是猜测名称。
参数检查。 在代码库中搜索 logprobs、logit_bias、n=、response_format 和 tools。每个匹配项都需要根据新提供商的文档支持进行检查。提供商的失败方式不同:有些在不支持的参数上返回 400 错误(Groq),有些会悄悄调整它们(Fireworks 的 max_tokens 行为)。
流式检查。 如果您的代码在读取流式块时会做出自己的假设(从部分片段重建工具调用参数是常见情况),请特别测试该路径。这是切换后最常见的错误来源。
测试输出变化。 相同的 API 形状并不意味着相同的模型行为。在将流量切换之前,请在新提供商上运行您现有的测试套件(或至少一套典型提示的保存集合)。针对某一模型族调整的提示通常需要进行调整。
一个合理的推出:在功能标志后将少量生产流量发送到新提供商,比较一周的输出和错误率,然后切换。
不太明显的风险不是切换到兼容的提供商。这是之后发生的事情,当您的应用程序增长到新提供商不支持的 OpenAI 规范的部分时。代理框架是最典型的例子。工具调用模式、并行工具调用、严格的结构化输出以及 Responses API 是规范变化最快的地方,也是替代提供商滞后最久的地方。今天一个干净的即插即用的应用程序明天可能会卡住:您采用了一个发送 strict: true 工具模式的代理框架,您的提供商会忽略或拒绝它们,而现在您正在维护特定于提供商的变通方法,这是一种不易察觉的锁定形式,比专有 API 更难发现。
保护自己的两种方式。首先,优先选择那些记录其差异的提供商,而不是那些声称完全兼容的提供商;已公布的差距列表意味着你可以在构建之前检查,而不是之后。其次,保持一个小的兼容性测试套件,覆盖流式工具调用、JSON 模式以及你最长上下文的大约十二个请求,并按计划对你的提供商运行它。规范是一个移动的目标;你的提供商对其的覆盖应该是你监控的东西,而不是你假设的东西。
OpenAI 的 API 悄然成为生态构建的对象:AI 基础设施的通用接口,被每个认真的提供商实现。这改变了问题。当切换成本降至仅两行代码时,决策不再是你是否能离开提供商,而是在你能够离开时应该优化什么。速度、目录、价格以及兼容性的完整性朝着不同的方向拉扯,正确答案取决于你的应用实际上如何运作。上面的比较指出了一些明确的匹配:
如果你想要 在一个端点后面的开放和封闭模型,DigitalOcean 和 OpenRouter 这里只有两个选择。DigitalOcean 自托管这些模型,其每 token 费率与每个模型所有者的定价相匹配;OpenRouter 将请求路由到其他提供商并在信用额度上收取费用,其行为可能因提供请求的提供商而异。
如果你想要 最快的开放模型服务,Fireworks、Together 和 Groq 在 Artificial Analysis 基准测试中领先,并且它们各自实现方式不同:Fireworks 具有最高的测量输出速度,Together 具有最低的首个答案 token 时间,Groq 使用自定义 LPU 硬件。在你自己的提示上测试这三者,因为它们之间的差距小于任何已发布数字与你的生产流量之间的差距。
如果你正在 在开放模型上优化成本,Nebius 在此比较中列出了最低的 Llama 3.3 70B 价格,而 Fireworks 的分层定价以及其他地方的固定费率足够接近,以至于你的 token 组合(输入密集型 vs. 输出密集型)比头条费率更重要。
无论你选择哪个提供商,都应将兼容性视为需要验证的东西,而不是假设的东西。在切换之前,运行迁移部分中的参数检查和流式测试,保持一个小的兼容性测试套件按计划运行,并在提交真实流量之前重新检查定价页面,因为本文中的每个数字都带有日期。
如果您的候选方案包括在一个端点后面运行开源和闭源模型,DigitalOcean 的推理引擎提供按 token 计费的定价,没有最低消费承诺,并且开箱即用地与 OpenAI SDK 配合使用。其快速入门需要基础 URL、模型访问密钥和大约五分钟时间。
所有定价数据均已对照 2026 年 7 月的官方提供商定价页面进行核实:
——
一个热爱技术的程序员,喜欢分享前沿AI知识和开发经验。