Provider 与模型
AI SDK 用 Provider 把各家 HTTP 差异藏起来。7.x 默认全局 Provider 是 Vercel AI Gateway:model 可以是字符串 "openai/gpt-4.1-mini"。你也可以安装 @ai-sdk/openai 等包直连厂商。
模型 ID 会变。 本教程用 Gateway 字符串 openai/gpt-4.1-mini;官方 Quickstart 常写 xai/grok-4.6;直连示例用 openai('gpt-5.1')。以 Providers and Models 和控制台为准。
Gateway(默认)
三种写法等价:纯字符串、gateway() from 'ai'、gateway() from '@ai-sdk/gateway'。一条 Key 可换多家模型,适合快速试错和 Vercel 部署。
可把全局默认 Provider 换成别的,这样全项目的字符串都走你指定的后端。见官方 Provider Management。
直连 OpenAI:@ai-sdk/openai
默认 openai('...') 走 Responses API。若自定义 baseURL 只实现 Chat Completions,用 openai.chat('model-id'),或改用下一节的 OpenAI Compatible 包。
不要把 Gateway 字符串 "openai/gpt-4.1-mini" 传给 openai(),也不要把 openai('gpt-5.1') 当成 Gateway 路由。
其它一等包:@ai-sdk/anthropic、@ai-sdk/google、@ai-sdk/xai、@ai-sdk/azure、@ai-sdk/mistral、@ai-sdk/groq 等。安装对应包后 import { anthropic } from '@ai-sdk/anthropic'。
OpenAI 兼容与本地 Ollama
许多本地 / 网关服务实现 OpenAI HTTP。官方包:
本机先按 Ollama 教程 跑起服务。Docker 里不要写 localhost,用 host.docker.internal:11434。兼容层取决于 Ollama 对 /v1 的实现;若缺工具或结构化输出,可试社区包 ollama-ai-provider-v2(见官方 Community Providers)。
vLLM、llama.cpp、各类国内兼容网关同样用 createOpenAICompatible({ baseURL })。需要时再加 apiKey、headers、queryParams。
能力差异
不是每个模型都支持图像输入、工具流、对象生成。换模型前看官方能力表。Gateway 上的 "provider/model" 与直连包的 id 不是同一张表,切换时要分别核对。
TypeScript 里把 model 收成配置(环境变量或 gateway(process.env.MODEL_ID!)),避免把 ID 写死在十个文件里。