Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Vercel AI SDK

最終更新 Markdown で表示Agent セットアップ

Vercel AI SDK は、AI アプリケーションを構築するための TypeScript ライブラリです。多数の AI プロバイダー、ストリーミング補完用のツールなどに対応しています。 Cloudflare AI Gateway を Vercel AI SDK と使うには、ai-gateway-provider パッケージが必要です。

インストール

npm install ai-gateway-provider

リクエスト先
OpenAI
統合
API キーの種類
保存済みキー (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 パッケージを使っている場合、個別のプロバイダー SDK なしで、AI Gateway 経由でサードパーティモデルを呼び出せます。createWorkersAI に、ゲートウェイ 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.",
});

役に立ちましたか?