现状
许可证
Apache 2.0,来自 Maxim。护栏、自适应负载均衡、SSO、RBAC、审计日志和集群功能属于商业授权的 Enterprise 层级。
由谁的账号处理请求
归你所有。提供商密钥存放在你自己的 Bifrost 部署中。
治理需主动开启
在未开启强制执行时,没有虚拟密钥的请求会不受治理地通过。在 INFRO 上,每个请求都需要网关密钥。
Bifrost 速度快、开源,并且由你自己运行。如果符合以下任意一条,就保留它。
- 网关必须运行在你的网络内、VPC 中或物理隔离环境中。
- 你使用语义缓存、会话亲和、Go 插件或异步推理任务。
- 你使用按请求的维度(
x-bf-dim-*)导出到 Prometheus 或 Datadog。 - 你调用 INFRO 不支持连接的提供商,或者笔记本电脑上的 Ollama。
需要的修改,每项一行。未在此列出的内容都保持不变。
| Bifrost | INFRO | |
|---|---|---|
| 基础 URL | http://localhost:8080/openai 或你的部署。 | https://api.infro.io/v1 |
| 密钥 | x-bf-vk 或 Authorization 中的虚拟密钥(sk-bf-*)。 | Authorization: Bearer 中的 INFRO 网关密钥。 |
| 模型 ID | openai/gpt-5.6-terra, vertex/gemini-3.8-flash, azure/gpt-prod. | openai/gpt-5.6-terra、google/gemini-3.8-flash;提供商由你的连接或 routing.providers 决定。 |
| 请求头和字段 | fallbacks, x-bf-cache-*, x-bf-dim-*, x-request-id. | fallbacks, cache, metadata.tags, X-INFRO-Trace-Id. |
之前 · Bifrost
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "http://localhost:8080/openai",
apiKey: process.env.BIFROST_VIRTUAL_KEY,
defaultHeaders: { "x-bf-dim-feature": "chat" },
});
await client.chat.completions.create({
model: "openai/gpt-5.6-terra",
messages: [{ role: "user", content: "Hello" }],
// @ts-expect-error Bifrost extension
fallbacks: ["anthropic/claude-sonnet-5.5"],
});之后 · INFRO
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.infro.io/v1",
apiKey: process.env.INFRO_API_KEY,
});
await client.chat.completions.create({
model: "openai/gpt-5.6-terra",
messages: [{ role: "user", content: "Hello" }],
// @ts-expect-error INFRO extensions
fallbacks: ["anthropic/claude-sonnet-5.5"],
metadata: { tags: { feature: "chat" } },
});提供商前缀
INFRO 的模型 ID 指向厂商,而不是托管方:无论运行在 Google AI 还是 Vertex 上,都是 google/gemini-3.8-flash。由你的哪个连接提供服务,取决于你的连接、路由规则或 routing.providers。
同样的 `fallbacks` 字段
两者都接受模型 ID 列表。INFRO 的列表会在 model 的所有连接都失败后尝试,最多 5 个。
维度变为标签
x-bf-dim-* 请求头变为 metadata.tags 下的键,在用量中分组,并可在请求日志中筛选。
Bifrost 的对象与 INFRO 的对照,依据 2026年10月19日 阅读的 Bifrost 公开文档,并已按网关实际实现的内容核对。 有一行显示 INFRO 没有对应项。
| Bifrost | 它在那里的作用 | 在 INFRO 中 |
|---|---|---|
| 虚拟密钥形式相同 | 允许的模型和提供商、预算、速率限制、到期时间。 | 网关密钥,带允许列表、提供商列表、支出限额、请求速率层级、IP 范围和轮换。 |
| 分层预算形式相同 | 在虚拟密钥、团队和客户之间。 | 覆盖组织、项目、成员、密钥和终端客户,并发情况下同样有效。 |
| 回退和重试形式相同 | fallbacks 和按提供商的重试退避。 | fallbacks,以及带按故障类型规则的路由规则。 |
| 在密钥之间负载均衡形式相同 | 在提供商密钥之间;Enterprise 版为自适应。 | 分散到一个提供商的多个密钥上,备用密钥排在最后;加权路由规则。 |
| 语义缓存不同 | 精确缓存和语义缓存,使用你自己的向量存储。 | 仅精确匹配,托管。 |
| 可观测性不同 | Prometheus 指标、OTel 追踪、请求日志。 | 带预估费用的请求日志和追踪记录、导出、发送到你的 OpenTelemetry 采集器的 span。没有 Prometheus 端点。 |
| 护栏、SSO、审计日志形式相同 | Enterprise 层级。 | 包含护栏的套餐提供护栏;从 Business 起提供 SSO 和 SCIM;提供审计日志。 |
| 插件无对应 | 请求路径中的自定义 Go 插件。 | 无。INFRO 不运行你的代码。 |
| 自托管不同 | Apache 2.0,可在任何地方运行。 | 托管服务。自托管或混合部署通过企业协议提供。Enterprise — 通过企业协议提供,而非自助开通。 |
这是我们对 Bifrost 已发布文档的理解,而非试用或基准测试。如果我们理解有误,告诉我们,我们会修正那一行。
INFRO 不做的事
- 在没有企业协议的情况下在你的网络中运行,或以开源许可证运行。
- 语义缓存、会话亲和、插件、异步推理任务。
- 一个 Prometheus 指标端点。
哪些无法迁移过来
- 你 Bifrost 日志存储中的日志。没有导入工具。
- 虚拟密钥。签发 INFRO 网关密钥,并将调用方逐步切换过来。
问题
- 我可以保留我的提供商账号吗?
- 可以。它们变为 INFRO 连接,并继续直接向你收费。INFRO 对模型支出加价 0%。
- `fallbacks` 字段还能用吗?
- 可以。INFRO 接受
fallbacks,为最多 5 个模型 ID 的列表。 - INFRO 能在我们的基础设施上运行吗?
- 仅限企业协议。套餐均为托管服务。
和我们一起迁移,或自行迁移
迁移计划会在一次通话中把你的 Bifrost 设置映射为 INFRO 的连接、路由规则和预算,并和你一起迁移第一个服务。你的提供商继续直接向你收费;INFRO 是一项订阅,对模型支出零加价。
来源
本页关于 Bifrost 的每一项陈述都来自以下来源之一,阅读于 2026年10月19日。没有任何内容是从试用、基准测试或交谈中推断的。
- GitHub — maximhq/bifrost阅读于 2026年10月19日
- Bifrost docs — Virtual keys阅读于 2026年10月19日
- Bifrost docs — OpenAI SDK阅读于 2026年10月19日
- Bifrost docs — Request options阅读于 2026年10月19日
- Bifrost docs — Fallbacks阅读于 2026年10月19日
- Bifrost docs — Semantic caching阅读于 2026年10月19日
- Maxim — Bifrost pricing阅读于 2026年10月19日