Cloudflare Workers AI 無料枠でLLM推論をゼロコスト運用する実装手順
結論:Cloudflare Workers AIなら月0円でLLM推論が動く
Cloudflare Workers AI には Free プランでも1日あたり10,000ニューロンユニット(NU) が無料で使えます。小規模な個人開発・プロトタイプ用途なら、クレジットカードを登録するだけで課金ゼロのまま本番レベルのLLM推論が動かせます。
この記事では、アカウント作成からWorkers AIのデプロイ、実際のAPIコールまでを実装コードつきでステップバイステップ解説します。
無料枠の注意点(先に書いておきます)
- 1日10,000 NUはモデルによって消費量が異なる。Llama系の大きいモデルは1推論で数百〜数千NUを消費する場合があります
- 処理速度(推論速度)はPaidプランより制限がかかります
- 最新の枠はCloudflare公式ドキュメントで必ず確認してください
Step 1:Cloudflareアカウントを作成・ログイン
- https://dash.cloudflare.com/sign-up でアカウントを作成
- メール認証を完了してダッシュボードにログイン
- 左メニューの 「Workers & Pages」 → 「Workers AI」 から利用状況を確認できます
無料プランでもWorkers AIは利用可能です。Paidプラン($5/月〜)にするとNUの上限が大幅に増えますが、まず無料枠で試すのがおすすめです。
Step 2:Wranglerのインストールとプロジェクト初期化
Cloudflare Workers の開発CLIである Wrangler を使います。
# Node.js 18以上が必要
npm install -g wrangler
# バージョン確認
wrangler --version
# Cloudflareアカウントにログイン
wrangler login
新規プロジェクトを作成します。
npm create cloudflare@latest my-ai-app
# テンプレートは "Hello World" Worker を選択
cd my-ai-app
Step 3:wrangler.toml にAIバインディングを追加
wrangler.toml に Workers AI のバインディングを追加します。
name = "my-ai-app"
main = "src/index.ts"
compatibility_date = "2024-09-23"
# Workers AI バインディング
[ai]
binding = "AI"
[ai] ブロックを追加するだけでOKです。特別なキーやシークレットは不要です。
Step 4:LLM推論コードを実装する
src/index.ts を以下のように書き換えます。
export interface Env {
AI: Ai;
}
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const url = new URL(request.url);
// GETパラメータ ?prompt=... でプロンプトを受け取る
const prompt = url.searchParams.get("prompt") ?? "日本語で自己紹介してください。";
const response = await env.AI.run(
"@cf/meta/llama-3.1-8b-instruct", // 無料枠で使えるモデル
{
messages: [
{
role: "system",
content: "あなたは親切なAIアシスタントです。日本語で回答してください。",
},
{
role: "user",
content: prompt,
},
],
max_tokens: 512,
}
);
return Response.json({
prompt,
result: response,
});
},
} satisfies ExportedHandler<Env>;
ポイント
| 項目 | 内容 |
|---|---|
| モデル | @cf/meta/llama-3.1-8b-instruct(無料枠対応・日本語可) |
max_tokens | 短くするほどNU消費を抑えられる |
| レスポンス形式 | response.response に生成テキストが入る |
Step 5:ローカルで動作確認する
wrangler dev
ブラウザや curl で確認します。
curl "http://localhost:8787/?prompt=Cloudflareとは何ですか?"
レスポンス例:
{
"prompt": "Cloudflareとは何ですか?",
"result": {
"response": "Cloudflareはグローバルなエッジネットワークを提供するクラウドセキュリティ・パフォーマンス企業です..."
}
}
ローカル開発時は wrangler dev がリモートのWorkers AIを呼び出す場合と、モックを使う場合があります。実際の推論結果を確認したい場合は --remote フラグを付けてください。
wrangler dev --remote
Step 6:本番デプロイ
wrangler deploy
デプロイ成功後、以下のようなURLが発行されます。
https://my-ai-app.your-subdomain.workers.dev
このエンドポイントをそのままAPIとして使えます。独自ドメインを当てることも可能です。
無料枠で使えるおすすめモデル一覧
Cloudflareが提供するモデルは随時更新されます。2025年時点で個人開発に便利なモデルを紹介します。
| モデル名 | 用途 | 日本語対応 |
|---|---|---|
@cf/meta/llama-3.1-8b-instruct | 汎用チャット・QA | ◯ |
@cf/mistral/mistral-7b-instruct-v0.1 | 軽量テキスト生成 | △ |
@cf/microsoft/phi-2 | 軽量・高速推論 | △ |
@cf/stabilityai/stable-diffusion-xl-base-1.0 | 画像生成 | — |
@cf/baai/bge-base-en-v1.5 | テキスト埋め込み(RAG向け) | △ |
最新のモデル一覧は Cloudflare Workers AI Models で確認してください。
ストリーミング応答(UX向上)
チャットUIで使う場合はストリーミングが有効です。
const stream = await env.AI.run(
"@cf/meta/llama-3.1-8b-instruct",
{
messages: [{ role: "user", content: prompt }],
stream: true,
}
);
// StreamingTextResponse として返す
return new Response(stream, {
headers: { "Content-Type": "text/event-stream" },
});
フロントエンドからは EventSource や fetch + ReadableStream で受け取れます。
NU(ニューロンユニット)の消費量を把握する
Cloudflareダッシュボードの Workers AI → Analytics でNU消費量をリアルタイムに確認できます。
無料枠を効率的に使うコツ:
max_tokensを必要最小限に設定する(最も効果的)- 同じ質問が繰り返されるなら KV / Cache でレスポンスをキャッシュする
- 用途に合わせて小さいモデルを選ぶ(phi-2はllama比で大幅に安い)
Astro / Next.js と組み合わせる場合
Cloudflare Pages + Astro の構成でWorkers AIを呼ぶ場合は、astro.config.mjs でCloudflareアダプタを使います。
npm install @astrojs/cloudflare
// astro.config.mjs
import { defineConfig } from "astro/config";
import cloudflare from "@astrojs/cloudflare";
export default defineConfig({
output: "server",
adapter: cloudflare(),
});
APIルート(src/pages/api/chat.ts)から env.AI にアクセスできます。Astro + Cloudflare Pagesはホスティングも無料枠があるため、フルスタック個人開発をゼロコストで実現しやすい組み合わせです。
まとめ
| ステップ | 作業内容 |
|---|---|
| 1 | Cloudflareアカウント作成 |
| 2 | Wranglerインストール・ログイン |
| 3 | wrangler.toml にAIバインディング追加 |
| 4 | env.AI.run() でLLM呼び出しを実装 |
| 5 | wrangler dev --remote でローカル確認 |
| 6 | wrangler deploy で本番公開 |
Cloudflare Workers AIは インフラ管理不要・グローバルエッジで低レイテンシ・無料枠あり と個人開発者にとってコスパ最高の選択肢です。まず無料枠でプロトタイプを動かし、トラフィックが増えてきたらPaidプランへ移行する戦略が現実的です。
サーバーのセットアップに時間を取られたくない方には、VPSを使わずにすべてCloudflare上で完結させる構成が特におすすめです。もしVPSが必要な場面が出てきた場合は {{A8:xserverVps}} も選択肢の一つです。
公式ドキュメント:Cloudflare Workers AI | Developers