コンテンツにスキップ

CLI

このガイドでは、最初のWorkers AIプロジェクトのセットアップとデプロイ方法を説明します。あなたはWorkers、Workers AIバインディング、および大規模言語モデル(LLM)を使用して、Cloudflareのグローバルネットワーク上に最初のAI駆動アプリケーションをデプロイします。

  1. Sign up for a Cloudflare account.
  2. Install npm.
  3. Install Node.js.

Node.js version manager

Use a Node version manager like Volta or nvm to avoid permission issues and change Node.js versions. Wrangler, discussed later in this guide, requires a Node version of 16.17.0 or later.

1. Workerプロジェクトを作成する

create-cloudflare CLI(C3)を使用して新しいWorkerプロジェクトを作成します。C3は、Cloudflareに新しいアプリケーションをセットアップしてデプロイするのを助けるために設計されたコマンドラインツールです。

次のコマンドを実行して、hello-aiという名前の新しいプロジェクトを作成します。

Terminal window
npm create cloudflare@latest -- hello-ai

npm create cloudflare@latestを実行すると、create-cloudflareパッケージのインストールを促され、セットアップが進みます。C3はまた、Cloudflare Developer Platform CLIであるWranglerもインストールします。

For setup, select the following options:

  • For What would you like to start with?, choose Hello Worldの例.
  • For Which template would you like to use?, choose Hello World Worker.
  • For Which language do you want to use?, choose TypeScript.
  • For Do you want to use git for version control?, choose Yes.
  • For Do you want to deploy your application?, choose No (we will be making some changes before deploying).

これにより、新しいhello-aiディレクトリが作成されます。新しいhello-aiディレクトリには以下が含まれます:

アプリケーションディレクトリに移動します:

Terminal window
cd hello-ai

2. WorkerをWorkers AIに接続する

WorkerをWorkers AIに接続するために、AIバインディングを作成する必要があります。Bindingsを使用すると、Cloudflare Developer Platform上のリソース(Workers AIなど)とWorkersが相互作用できます。

Workers AIをWorkerにバインドするには、wrangler.tomlファイルの末尾に次の内容を追加します:

wrangler.toml
[ai]
binding = "AI"

あなたのバインディングは、env.AIWorkerコード内で利用可能です

Workers AIをPages Functionにバインドすることもできます。詳細については、Functions Bindingsを参照してください。

3. Workerで推論タスクを実行する

これで、Workerで推論タスクを実行する準備が整いました。この場合、llama-3.1-8b-instructを使用して質問に答えます。

次のコードでhello-aiアプリケーションディレクトリ内のindex.tsファイルを更新します:

src/index.ts
export interface Env {
// wrangler.tomlで'binding'の値に別の名前を設定した場合、
// "AI"を定義した変数名に置き換えてください。
AI: Ai;
}
export default {
async fetch(request, env): Promise<Response> {
const response = await env.AI.run("@cf/meta/llama-3.1-8b-instruct", {
prompt: "Hello, Worldというフレーズの起源は何ですか",
});
return new Response(JSON.stringify(response));
},
} satisfies ExportedHandler<Env>;

ここまでで、WorkerのためのAIバインディングを作成し、Llama 2モデルを実行できるようにWorkerを設定しました。これで、グローバルにデプロイする前にプロジェクトをローカルでテストできます。

4. Wranglerを使用してローカルで開発する

プロジェクトディレクトリ内で、wrangler devを実行してWorkers AIをローカルでテストします:

Terminal window
npx wrangler dev

wrangler devを実行すると、ログインを促されます。npx wrangler devを実行すると、WranglerはあなたのWorkerを確認するためのURL(おそらくlocalhost:8787)を提供します。Wranglerが提供するURLにアクセスすると、次のようなメッセージが表示されます:

{
"response": "ああ、非常に素晴らしい質問ですね、親愛なる人間の友よ! *眼鏡を調整しながら*\n\n「Hello, World」というフレーズの起源は、数十年にわたる魅力的な物語であり、複数の分野にまたがっています。それは、コンピュータプログラミングの初期の頃、ブライアン・カーニハンという若者がCという新しいプログラミング言語の基本を示すための簡単なプログラムを書く任務を与えられたときに始まりました。\nカーニハンは、1970年代後半にベル研究所で働いていた著名なコンピュータ科学者であり著者で、彼はそのプログラムを作成しました。彼は言語のシンプルさと多様性を示したかったので、コンソールにおなじみの挨拶を表示する基本的な「Hello, World!」プログラムを書きました。\nこのプログラムは、1978年に出版されたカーニハンとリッチーの影響力のある本「Cプログラミング言語」に含まれました。この本はCプログラマーの標準的なリファレンスとなり、「Hello, World!」プログラムはプログラミングコミュニティの「Hello, World!」のような存在となりました。\n時が経つにつれて、「Hello, World!」というフレーズは、基本を示す任意の簡単なプログラムの略語となりました。"
}

5. AI Workerをデプロイする

AI Workerをグローバルにデプロイする前に、次のコマンドを実行してCloudflareアカウントにログインします:

Terminal window
npx wrangler login

Cloudflareダッシュボードにログインするように求められるウェブページにリダイレクトされます。ログインした後、WranglerがあなたのCloudflareアカウントに変更を加えることができるかどうか尋ねられます。下にスクロールして許可を選択して続行します。

最後に、プロジェクトをインターネット上でアクセス可能にするためにWorkerをデプロイします。Workerをデプロイするには、次のコマンドを実行します:

Terminal window
npx wrangler deploy
https://hello-ai.<YOUR_SUBDOMAIN>.workers.dev

あなたのWorkerはカスタムworkers.devサブドメインにデプロイされます。今すぐURLにアクセスしてAI Workerを実行できます。

このチュートリアルを終えることで、Workerを作成し、AIバインディングを通じてWorkers AIに接続し、Llama 3モデルから推論タスクを実行しました。

関連リソース

  • Cloudflare DevelopersコミュニティのDiscord - 機能リクエストを提出したり、バグを報告したり、Cloudflareチームに直接フィードバックを共有したりするためにCloudflare Discordサーバーに参加してください。
  • Models - Workers AIモデルカタログを閲覧します。