このガイドでは、最初の Workers AI プロジェクトのセットアップとデプロイ手順を説明します。Workers、Workers AI バインディング、大規模言語モデル(LLM)を使い、Cloudflare のグローバルネットワーク上に最初の AI アプリケーションをデプロイします。
- Cloudflare アカウント ↗ に登録します。
Node.js↗ をインストールします。
Node.js のバージョンマネージャー
権限の問題を避け、Node.js のバージョンを切り替えられるよう、Volta ↗ や nvm ↗ などの Node バージョンマネージャーを使います。このガイドの後半で説明する Wrangler には、Node バージョン 16.17.0 以降が必要です。
create-cloudflare CLI(C3)で新しい Worker プロジェクトを作成します。C3 ↗ は、Cloudflare への新規アプリケーションのセットアップとデプロイを支援するコマンドラインツールです。
次のコマンドで、hello-ai という名前の新しいプロジェクトを作成します。
npm create cloudflare@latest -- hello-aiyarn create cloudflare hello-aipnpm create cloudflare@latest hello-ainpm create cloudflare@latest を実行すると、create-cloudflare パッケージ ↗ のインストールを求められ、セットアップが進みます。C3 は Cloudflare Developer Platform CLI である Wrangler もインストールします。
セットアップでは、次のオプションを選びます。
- What would you like to start with? では、
Hello World exampleを選びます。 - Which template would you like to use? では、
Worker onlyを選びます。 - Which language do you want to use? では、
TypeScriptを選びます。 - Do you want to use git for version control? では、
Yesを選びます。 - Do you want to deploy your application? では、
Noを選びます(デプロイ前にいくつか変更します)。
これで新しい hello-ai ディレクトリが作成されます。hello-ai ディレクトリには次が含まれます。
src/index.tsにある"Hello World"Worker。wrangler.jsonc設定ファイル。
アプリケーションのディレクトリへ移動します。
cd hello-aiWorker を Workers AI に接続するには、AI バインディングを作成する必要があります。Bindings を使うと、Workers から Cloudflare Developer Platform 上のリソース(Workers AI など)とやり取りできます。
Workers AI を Worker にバインドするには、Wrangler ファイルの末尾に次を追加します。
{
"ai": {
"binding": "AI"
}
}[ai]
binding = "AI"バインディングは、Worker コード内の env.AI で 利用できます。
Pages Function に Workers AI をバインドすることもできます。詳細は Functions Bindings を参照してください。
これで Worker 内で推論タスクを実行できます。ここでは LLM の gemma-4-26b-a4b-it を使い、質問に答えます。
hello-ai アプリケーションディレクトリの index.ts を、次のコードで更新します。
export default {
async fetch(request, env) {
const response = await env.AI.run("@cf/google/gemma-4-26b-a4b-it", {
messages: [
{
role: "system",
content: "You are a helpful assistant.",
},
{
role: "user",
content: "What is the origin of the phrase Hello, World",
},
],
chat_template_kwargs: {
enable_thinking: false,
},
});
return Response.json(response);
},
};export interface Env {
// If you set another name in the Wrangler config file as the value for 'binding',
// replace "AI" with the variable name you defined.
AI: Ai;
}
export default {
async fetch(request, env): Promise<Response> {
const response = await env.AI.run("@cf/google/gemma-4-26b-a4b-it", {
messages: [
{
role: "system",
content: "You are a helpful assistant.",
},
{
role: "user",
content: "What is the origin of the phrase Hello, World",
},
],
chat_template_kwargs: {
enable_thinking: false,
},
});
return Response.json(response);
},
} satisfies ExportedHandler<Env>;ここまでで、Worker に AI バインディングを作成し、reasoning を無効にした Gemma 4 26B A4B モデルを実行するよう Worker を設定しました。グローバルにデプロイする前に、プロジェクトをローカルでテストできます。
プロジェクトディレクトリで wrangler dev を実行し、Workers AI をローカルでテストします。
npx wrangler devwrangler dev の実行後、ログインを求められます。npx wrangler dev を実行すると、Wrangler は Worker を確認するための URL(多くの場合 localhost:8787)を表示します。Wrangler が提示する URL を開くと、次のような形の応答が返ります。
{
"id": "<generated id>",
"object": "chat.completion",
"created": 0,
"model": "@cf/google/gemma-4-26b-a4b-it",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "<generated response>",
"refusal": null
},
"finish_reason": "stop",
"logprobs": null
}
]
}AI Worker をグローバルにデプロイする前に、次のコマンドで Cloudflare アカウントにログインします。
npx wrangler loginCloudflare ダッシュボードへのログインを求める Web ページが開きます。ログイン後、Wrangler が Cloudflare アカウントを変更してよいか確認されます。下にスクロールし、Allow を選んで続行します。
最後に Worker をデプロイし、プロジェクトをインターネットから利用できるようにします。次のコマンドでデプロイします。
npx wrangler deployhttps://hello-ai.<YOUR_SUBDOMAIN>.workers.devWorker は、カスタムの workers.dev サブドメインにデプロイされます。この URL を開くと、AI Worker を実行できます。
このチュートリアルを完了すると、Worker を作成し、AI バインディングで Workers AI に接続し、Gemma 4 26B A4B モデルで推論タスクを実行できるようになります。
- Cloudflare Developers community on Discord ↗ - Cloudflare Discord サーバーに参加し、機能リクエストの送信、バグ報告、フィードバックの共有を Cloudflare チームへ直接行えます。
- Models - Workers AI のモデルカタログを閲覧します。
- AI SDK - AI モデルとの統合方法を確認します。