跳转到内容
搜索文档

Vercel AI SDK

最后更新 查看 MarkdownAgent 设置

Vercel AI SDK 是用于构建 AI 应用的 TypeScript 库。该 SDK 支持多种 AI 提供商、流式补全工具等。 要在 Vercel AI SDK 中使用 Cloudflare AI Gateway,你需要使用 ai-gateway-provider 包。

安装

npm install ai-gateway-provider

示例

Make a request to
OpenAI
Unified
API with
Stored Key (BYOK)
import { createAiGateway } from 'ai-gateway-provider';
import { createUnified } from 'ai-gateway-provider/providers/unified';
import { generateText } from "ai";

const aigateway = createAiGateway({
  accountId: "{CLOUDFLARE_ACCOUNT_ID}",
  gateway: '{GATEWAY_NAME}',
  apiKey: '{CF_AIG_TOKEN}',
});

const unified = createUnified();

const { text } = await generateText({
  model: aigateway(unified('openai/gpt-5.2')),
  prompt: 'What is Cloudflare?',
});

使用第三方模型的 AI 绑定

如果你已经在使用 workers-ai-provider 包,可以通过 AI Gateway 路由请求以调用第三方模型,而无需单独的提供商 SDK。向 createWorkersAI 传递带有 gateway ID 的 gateway 选项:

import { createWorkersAI } from "workers-ai-provider";
import { streamText } from "ai";

export default {
	async fetch(request, env) {
		const workersai = createWorkersAI({
			binding: env.AI,
			gateway: { id: "my-gateway" },
		});

		const result = streamText({
			model: workersai("openai/gpt-4o"),
			messages: [{ role: "user", content: "Write a short story" }],
		});

		return result.toTextStreamResponse();
	},
};
import { createWorkersAI } from "workers-ai-provider";
import { streamText } from "ai";

export default {
	async fetch(request, env) {
		const workersai = createWorkersAI({
			binding: env.AI,
			gateway: { id: "my-gateway" },
		});

		const result = streamText({
			model: workersai("openai/gpt-4o"),
			messages: [{ role: "user", content: "Write a short story" }],
		});

		return result.toTextStreamResponse();
	},
} satisfies ExportedHandler<Env>;

这适用于通过 AI Gateway 可用的任何受支持提供商和模型

回退提供商

要指定模型或提供商回退以处理请求失败并确保可靠性,可以向 model 选项传递模型数组。

const { text } = await generateText({
	model: aigateway([openai.chat("gpt-5.1"), anthropic("claude-sonnet-4-5")]),
	prompt: "Write a vegetarian lasagna recipe for 4 people.",
});

这篇文档对您有帮助吗?