cd ../返回博客
$Guide//2026年6月4日//6 min read

10 分钟从 OpenAI 迁移到 Brievio:Python / Node / LangChain / Vercel AI SDK 实操

应用已在调用 OpenAI?保留 SDK 与代码库,每种集成只改一行 base_url 即可切到 Brievio,用上真模型与诚实计费。

如果你的应用已经在调用 OpenAI 的 API,那么切到 Brievio 大约只要十分钟 —— 其中大半时间还都花在注册上。你的 SDK 和代码库原封不动;换来的是 跑在可靠基础设施上的真模型,以及诚实的 token 计费。本文带你过一遍多数 团队都在用的四种集成方式,以及它们各自只需改的那一行。

第 0 步 —— 拿一把密钥(2 分钟)

  1. brievio.com/app/signup 注册。 注册即送 $2 额度;无需绑卡。
  2. 打开 /app/keys 创建一把密钥, 它以 sk-brievio- 开头。
  3. 设置环境变量: export BRIEVIO_API_KEY=sk-brievio-...

第 1 步 —— 切换你的 SDK(1 分钟)

Python(openai 包)

migrate.py
# 改之前 —— 直接指向 OpenAI
from openai import OpenAI
client = OpenAI(
    api_key=os.environ["OPENAI_API_KEY"],
)

# 改之后 —— 指向 Brievio。其余一切照旧。
from openai import OpenAI
client = OpenAI(
    api_key=os.environ["BRIEVIO_API_KEY"],
    base_url="https://api.brievio.com/v1",
)

Node / TypeScript

migrate.mjs
// 改之前
import OpenAI from "openai";
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

// 改之后
import OpenAI from "openai";
const client = new OpenAI({
  apiKey: process.env.BRIEVIO_API_KEY,
  baseURL: "https://api.brievio.com/v1",
});

LangChain

LangChain 内部用的就是同一个 OpenAI 客户端,所以改法完全一样。模型 id 现在换成了 Brievio 的 slug —— 完整在线列表见 /models(可以试试 claude-sonnet-4-6gemini-2.5-flash claude-opus-4-7)。

langchain_setup.py
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="claude-sonnet-4-6",          # 换了模型
    api_key=os.environ["BRIEVIO_API_KEY"],
    base_url="https://api.brievio.com/v1",
)

Vercel AI SDK

@ai-sdk/openai 默认就会从环境变量里读取它的 base URL 和 API 密钥。把这两项设好就完事了 —— 每一个框架辅助函数(streamTextgenerateObject、重试、工具路由) 都照常工作。

vercel_ai.mjs
import { openai } from "@ai-sdk/openai";

// @ai-sdk/openai 会自动读取 OPENAI_BASE_URL
process.env.OPENAI_BASE_URL = "https://api.brievio.com/v1";
process.env.OPENAI_API_KEY = process.env.BRIEVIO_API_KEY;

const model = openai("claude-sonnet-4-6");
// 之后照常使用 streamText / generateText / streamObject

Anthropic SDK(如果你已经在用 Claude)

除了 OpenAI 那套格式,Brievio 在 /v1/messages 上同样提供了 Anthropic 原生的 Messages API —— 所以你压根不用换 SDK。

anthropic_sdk.py
from anthropic import Anthropic

# 改之前 —— Anthropic SDK 指向 api.anthropic.com
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

# 改之后 —— 同一个 SDK,指向 Brievio。缓存、思考、工具都原样透传。
client = Anthropic(
    api_key=os.environ["BRIEVIO_API_KEY"],
    base_url="https://api.brievio.com",   # SDK 会自动接上 /v1/messages
)

第 2 步 —— 给钱包做个冒烟测试(1 分钟)

在动生产代码之前,先拿 claude-haiku-4-5 跑一次便宜的测试。如果它成功返回, 就说明你的密钥可用、计费可用、路由层一切正常。

smoke_test.py
# 用来验证迁移的廉价、结果基本确定的冒烟测试。
resp = client.chat.completions.create(
    model="claude-haiku-4-5",            # 最便宜的 Claude
    messages=[{"role": "user", "content": "ping"}],
    max_tokens=8,
    temperature=0,
)
assert resp.choices[0].message.content, "empty response"
print("ok —— Brievio 钱包可用,总成本约 $0.0001")

第 3 步 —— 把流量迁过来(5 分钟)

稳妥的做法:在你的应用里放两个环境变量 —— AI_BASE_URLAI_API_KEY —— 按环境分别选取。 生产继续走 OpenAI;预发切到 Brievio。观察 24 小时后,再把生产切过来。

如果你在切换前想先看看成本影响,Brievio 的仪表板会把每次调用的成本 对照上游官方费率列出来 —— 用你真实的提示,很容易就能算出预计的每月 差额。

哪些保持不变

  • 你的 SDK 和代码库。
  • 流式输出、函数调用、工具使用、视觉、结构化输出。
  • OpenAI 一模一样的请求与响应 schema。
  • 错误结构(error.message / error.type / error.code)。

哪些变得更好

  • 真实性。每一次调用拿到的都是货真价实的第一方模型 —— 完整上下文、原生工具与缓存,没有偷偷降级,也没有套壳代理。
  • 价格。每个模型的定价大约比供应商官方报价低 15%, 并按真实 token 数计费 —— 详见 /pricing
  • 多模态。同一个 SDK 就能触达 Claude(claude-opus-4-7)、Gemini(gemini-2.5-pro)、 GPT-Image-2、Veo 3、Nano Banana —— 详见 /models
  • 计费。原生接入 Stripe 的钱包 —— 支持银行卡、Apple Pay、 Google Pay、ACH、SEPA、支付宝、微信支付。一张可审计的账单。
  • 可靠性。受监控的自动故障切换 —— 一旦上游开始劣化, 我们立刻重新路由,通常在你的重试循环触发之前就完成了。

那些不顺利的边角情况

  • 目前我们尚未覆盖的 OpenAI 专属端点: /v1/responses(请改用 /v1/chat/completions)、 /v1/assistants(状态由你这边维护;我们是无状态网关)、/v1/realtime(已在规划中)。
  • 某些 Claude 专属特性 —— cache_control、扩展 thinking —— 通过原生的 /v1/messages 端点效果最好,而不是 走 OpenAI 那套格式。

卡住了?contact@brievio.com —— 一个工作日内会有真人回复。如果你在做一次正经的迁移,我们可以 直接和你开个电话会。