Skip to content

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

Cloudflare Workers AI で Llama 3.2 11B Vision Instruct モデルを使う

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

前提条件

始める前に、次を用意します。

  1. Workers と Workers AI が有効な Cloudflare アカウント
  2. CLOUDFLARE_ACCOUNT_IDCLOUDFLARE_AUTH_TOKEN
    • API トークンは、Cloudflare ダッシュボードの API Tokens で生成できます。
  3. Cloudflare Workers を扱うための Node.js(任意ですが推奨)。

1. Meta のライセンスに同意する

Llama 3.2 11B Vision Instruct モデルを初めて使うときは、Meta の License と Acceptable Use Policy に同意する必要があります。

curlbash
curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run/@cf/meta/llama-3.2-11b-vision-instruct \
  -X POST \
  -H "Authorization: Bearer $CLOUDFLARE_AUTH_TOKEN" \
  -d '{ "prompt": "agree" }'

$CLOUDFLARE_ACCOUNT_ID$CLOUDFLARE_AUTH_TOKEN を、実際のアカウント ID とトークンに置き換えます。

2. Cloudflare Worker をセットアップする

  1. Worker プロジェクトを作成する create-cloudflare CLI(C3)で新しい Worker プロジェクトを作成します。このツールは、Cloudflare への新規アプリケーションのセットアップとデプロイを簡単にします。

    ターミナルで次のコマンドを実行します。

npm create cloudflare@latest -- llama-vision-tutorial

セットアップでは、次のオプションを選びます。

  • 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? では、JavaScript を選びます。
  • Do you want to use git for version control? では、Yes を選びます。
  • Do you want to deploy your application? では、No を選びます(デプロイ前にいくつか変更します)。

セットアップが終わると、llama-vision-tutorial というディレクトリが作成されます。

  1. アプリケーションのディレクトリへ移動する プロジェクトディレクトリへ移動します。

    cd llama-vision-tutorial
  2. プロジェクト構成 llama-vision-tutorial ディレクトリには次が含まれます。

    • src/index.ts の "Hello World" Worker。
    • デプロイ設定を管理する wrangler.json 設定ファイル。

3. Worker のコードを書く

src/index.ts(TypeScript を使わない場合は index.js)を編集し、次のコードに置き換えます。

export interface Env {
  AI: Ai;
}

export default {
  async fetch(request, env): Promise<Response> {
    const messages = [
      { role: "system", content: "You are a helpful assistant." },
      { role: "user", content: "Describe the image I'm providing." },
    ];

    // Replace this with your image data encoded as base64 or a URL
    const imageBase64 = "data:image/png;base64,IMAGE_DATA_HERE";

    const response = await env.AI.run("@cf/meta/llama-3.2-11b-vision-instruct", {
      messages,
      image: imageBase64,
    });

    return Response.json(response);
  },
} satisfies ExportedHandler<Env>;

4. Worker に Workers AI をバインドする

  1. Wrangler 設定ファイル を開き、次の設定を追加します。
{
	"env": {},
	"ai": {
		"binding": "AI"
	}
}
env = { }

[ai]
binding = "AI"
  1. ファイルを保存します。

5. Worker をデプロイする

次のコマンドで Worker をデプロイします。

wrangler deploy

6. Worker をテストする

  1. デプロイ後、Worker 用の一意の URL が発行されます(例: https://llama-vision-tutorial.<your-subdomain>.workers.dev)。
  2. curl や Postman などのツールで、Worker にリクエストを送ります。
curl -X POST https://llama-vision-tutorial.<your-subdomain>.workers.dev \
  -d '{ "image": "BASE64_ENCODED_IMAGE" }'

BASE64_ENCODED_IMAGE を、実際の base64 エンコード済み画像文字列に置き換えます。

7. レスポンスを確認する

レスポンスには、提供した画像に基づくモデルの出力(説明やプロンプトへの回答など)が含まれます。

レスポンスの例:

{
	"result": "This is a golden retriever sitting in a grassy park."
}

役に立ちましたか?