AI Gateway を Workers AI リクエストの統合コントロールレイヤーとして使い、分析、ログ、キャッシュ、セキュリティ、プリペイド課金を利用します。プリペイドの AI Gateway credits を使うには、ゲートウェイの Workers AI 課金設定 を Unified billing にします。プリペイドクレジットで課金される frontier モデルへのリクエストは、より高いレート制限 を受けます。
REST API を使って Workers AI モデルを呼び出します。Workers AI モデルはモデル名に @cf/ プレフィックスを使い、どのゲートウェイ経由でルーティングするかを指定するために cf-aig-gateway-id ヘッダーが必要です。
# Run `wrangler whoami` to get your account ID to replace $CLOUDFLARE_ACCOUNT_ID,
# and `wrangler auth token` to get an auth token to replace $CLOUDFLARE_API_TOKEN.
curl -X POST "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/chat/completions" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "cf-aig-gateway-id: default" \
--header "Content-Type: application/json" \
--data '{
"model": "@cf/moonshotai/kimi-k2.6",
"messages": [
{
"role": "user",
"content": "What is Cloudflare?"
}
]
}'環境バインディングを使って、Workers AI を AI Gateway と統合できます。Worker に AI Gateway を含めるには、Workers AI リクエスト内のオブジェクトとしてゲートウェイを追加します。
export default {
async fetch(request, env) {
const response = await env.AI.run(
"@cf/meta/llama-3.1-8b-instruct",
{
prompt: "Why should you use Cloudflare for your AI inference?",
},
{
gateway: {
id: "{gateway_id}",
skipCache: false,
cacheTtl: 3360,
},
},
);
return new Response(JSON.stringify(response));
},
};export interface Env {
AI: Ai;
}
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const response = await env.AI.run(
"@cf/meta/llama-3.1-8b-instruct",
{
prompt: "Why should you use Cloudflare for your AI inference?",
},
{
gateway: {
id: "{gateway_id}",
skipCache: false,
cacheTtl: 3360,
},
},
);
return new Response(JSON.stringify(response));
},
} satisfies ExportedHandler<Env>;バインディングを使って Workers AI を AI Gateway に統合する詳細な手順は、AI Gateway の統合 を参照してください。
Workers AI は AI Gateway 向けに次のパラメーターをサポートします。
idstring- 既存の AI Gateway の名前です。Worker と同じアカウントである必要があります。
skipCacheboolean(デフォルト: false)- リクエストが キャッシュをスキップ するかどうかを制御します。
cacheTtlnumber- Cache TTL を制御します。