结论
- OpenAI-compatible 不等于 streaming、JSON 或 tool-call 行为完全一致。
- Vercel app 应把 provider 设置放环境变量,切路由不必重写代码。
- 要测试真实 SDK 路径,不只测 curl,因为 adapter 可能改变请求形状。
- 有付费用户、定时任务或 Agent 循环时必须准备 fallback。
怎么做
- 选择 provider,并从官方文档复制当前兼容 endpoint。
- 在 provider/client 配置中显式设置 baseURL、apiKey、model。
- 从应用实际使用的 Next.js route 跑最小 chat 请求。
- 测试 streaming、结构化输出、timeout、限速和 provider 错误体。
- 需要 fallback、日志和预算上限时,加入 OpenLLMAPI 或类似路由层。
推荐路径对比
| 平台 | 免费/额度 | 适合 |
|---|---|---|
| DeepSeek | 核验当前价格 | 低价 Vercel app 后端测试 |
| 通义千问 DashScope | 注册额度变化 | 兼容模式中国大陆友好应用 |
| 智谱 GLM | 注册 tokens 变化 | 国产 fallback 和 GLM 实验 |
| OpenRouter/Groq | 免费路线变化 | 快速 demo 和多模型测试 |
| OpenLLMAPI | 体验额度变化 | 统一 endpoint、fallback 和花费日志 |
自有平台承接
给 Vercel app 一个兼容 endpoint
低价模型优先、失败自动兜底,并追踪花费,不必重写 Next.js AI routes;注册会携带 Vercel AI SDK 意图 UTM。
FAQ
只改 baseURL 够吗?
部分 chat 调用够,但仍要测试 streaming、JSON、错误、模型名和限速。
Vercel AI SDK 最适合哪个 provider?
原型选能通过 SDK smoke test 的最快免卡/低价路线;生产按成功任务成本和 fallback 能力选。
为什么 streaming 会坏?
一些兼容 endpoint 的 chunk 或 finish reason 不完全相同。要用实际 SDK helper 和 UI parser 测。
如何避免锁定?
provider 配置放环境变量,标准化错误,记录 route/model,并保留至少一个 fallback。