通过一次 URL 更改,为您的 LLM 堆栈添加 Observability、Routing 和 Failover
Source: Dev.to
Bifrost 是一个高性能 AI 网关,通过单一 兼容 OpenAI 的 API 统一访问 15+ 家提供商(OpenAI、Anthropic、AWS Bedrock、Google Vertex,…)。部署仅需几秒,无需配置,即可获得自动故障转移、负载均衡、语义缓存和企业级可观测性。
为什么选择 Bifrost?
如果你的 LLM 应用已经可以正常工作,你不应该仅仅为了添加以下功能而重构它:
- 可观测性
- 负载均衡
- 缓存
- 提供商故障转移
大多数解决方案会迫使你:
- 重写 API 调用
- 学习全新的 SDK
- 重构已稳定的代码
- 重新测试所有内容(风险大且成本高)
Bifrost 避免了所有这些。只需将其嵌入,修改一个 URL,即可完成。
快速入门
在不到一分钟的时间内,从 零 到 可投入生产的 AI 网关。
| 步骤 | 命令 |
|---|---|
| 1️⃣ 启动 Bifrost 网关 | 本地安装并运行 bash\nnpx -y @maximhq/bifrost\n或使用 Docker bash\ndocker run -p 8080:8080 maximhq/bifrost\n |
| 2️⃣ 通过 Web UI 配置 | 打开内置界面: bash\nopen http://localhost:8080\n |
| 3️⃣ 发起你的首次 API 调用 | bash\ncurl -X POST http://localhost:8080/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"openai/gpt-4o-mini\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello, Bifrost!\"}]\n }'\n |
就这样——你的 AI 网关已经运行,并配有用于可视化配置和实时监控的 Web UI。
与 OpenAI 兼容 – 一行更改
如果你的代码已经可以使用 OpenAI,那么它同样可以使用 Bifrost。
import openai
# Original OpenAI usage
openai.api_key = "sk-..."
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": "Hello"}]
)
# 👉 Switch to Bifrost – only the base URL changes
openai.api_base = "http://localhost:8080/openai"
openai.api_key = "sk-..."
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": "Hello"}]
)
其他一切保持不变。 由于 Bifrost 与 OpenAI 兼容,它可以与任何已经支持 OpenAI 的框架一起使用。
LangChain
from langchain.chat_models import ChatOpenAI
llm = ChatOpenAI(
openai_api_base="http://localhost:8080/langchain",
openai_api_key="sk-..."
)
LlamaIndex
from llama_index.llms import OpenAI
llm = OpenAI(
api_base="http://localhost:8080/openai",
api_key="sk-..."
)
LiteLLM
import litellm
response = litellm.completion(
model="gpt-4",
messages=[{"role": "user", "content": "Hello"}],
base_url="http://localhost:8080/litellm"
)
Anthropic SDK
import anthropic
client = anthropic.Anthropic(
base_url="http://localhost:8080/anthropic",
api_key="sk-ant-..."
)
模式: 只需更新 base URL,保持其余代码不变。
多提供商路由
在单个 JSON/YAML 配置中定义提供商。Bifrost 会根据模型名称将请求路由到相应的后端。
{
"providers": [
{
"name": "openai",
"api_key": "sk-...",
"models": ["gpt-4", "gpt-4o-mini"]
},
{
"name": "anthropic",
"api_key": "sk-ant-...",
"models": ["claude-sonnet-4", "claude-opus-4"]
},
{
"name": "azure",
"api_key": "...",
"endpoint": "https://your-resource.openai.azure.com"
}
]
}
# 路由到 OpenAI
response = client.chat.completions.create(
model="gpt-4",
messages=[...]
)
# 路由到 Anthropic
response = client.chat_completions.create(
model="anthropic/claude-sonnet-4",
messages=[...]
)
只需更改模型名称即可切换提供商——无需重构代码。
内置可观测性
插件(例如 Maxim)
{
"plugins": [
{
"name": "maxim",
"config": {
"api_key": "your-maxim-key",
"repo_id": "your-repo-id"
}
}
]
}
每个请求都会自动在 Maxim 仪表盘中追踪 —— 无需仪器代码。
指标(Prometheus)
{
"metrics": {
"enabled": true,
"port": 9090
}
}
指标在 /metrics 暴露,可被 Prometheus 抓取。
OpenTelemetry(OTLP)
{
"otel": {
"enabled": true,
"endpoint": "http://your-collector:4318"
}
}
标准 OTLP 导出到任何兼容 OpenTelemetry 的收集器。
提供商特定示例(Claude)
{
"baseURL": "http://localhost:8080/openai",
"provider": "anthropic"
}
所有 Claude 请求现在通过 Bifrost 流动,实现成本跟踪、令牌使用和缓存。
custom:
- name: "Bifrost"
apiKey: "dummy"
baseURL: "http://localhost:8080/v1"
models:
default: ["openai/gpt-4o"]
模型上下文协议 (MCP) – 工具调用与共享上下文
{
"mcp": {
"servers": [
{
"name": "filesystem",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem"]
},
{
"name": "brave-search",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your-key"
}
}
]
}
}
一旦配置完成,您的 LLM 调用将自动获得对 MCP 工具的访问权限。
部署示例
Docker(快速测试)
docker run -p 8080:8080 \
-e OPENAI_API_KEY=sk-... \
maximhq/bifrost:latest
Docker‑Compose
services:
bifrost:
image: maximhq/bifrost:latest
ports:
- "8080:8080"
environment:
- OPENAI_API_KEY=sk-...
volumes:
- ./data:/app/data
Kubernetes
apiVersion: apps/v1
kind: Deployment
metadata:
name: bifrost
spec:
replicas: 3
selector:
matchLabels:
app: bifrost
template:
metadata:
labels:
app: bifrost
spec:
containers:
- name: bifrost
image: maximhq/bifrost:latest
ports:
- containerPort: 8080
Terraform
请参阅官方文档获取完整示例。
摘要
| Feature | Status |
|---|---|
| 可观测性 | ✅ (自动追踪,指标,OTLP) |
| 语义缓存 | ✅ |
| 多密钥负载均衡 | ✅ |
| 提供商故障转移 | ✅ |
| MCP 工具调用 | ✅ |
| 一行集成 | ✅ |
迁移步骤(≈10 分钟):
- 运行 Bifrost。
- 添加提供商 API 密钥(通过 UI 或配置)。
- 在代码中更新基础 URL。
- 测试单个请求。
- 部署(Docker、K8s 等)。
所有功能均自动启用——除了 URL 之外无需代码更改。使用 零重构 体验弹性、可观测且可扩展的 LLM 堆栈。
快速集成检查清单
- OpenAI 兼容 API
- 只需更改一个 URL
- 多供应商路由
- 内置可观测性
- 无需重构
- 无需新 SDK
- 无需代码重写
只需直接使用。
由 Maxim AI 团队打造。