始める
このガイドでは、組み込み関数呼び出しを使用して最初の Workers AI プロジェクトを設定し、デプロイする方法を説明します。Workers、Workers AI バインディング、ai-utils パッケージ ↗、および大規模言語モデル (LLM) を使用して、組み込み関数呼び出しを備えた最初の AI 対応アプリケーションを Cloudflare グローバルネットワーク上にデプロイします。
Workers AI 始めるガイドの手順 2 まで進んでください。
次に、プロジェクトリポジトリで以下のコマンドを実行して、Worker AI ユーティリティパッケージをインストールします。
npm install @cloudflare/ai-utils --saveアプリケーションディレクトリ内の index.ts ファイルを以下のコードで更新します。
import { runWithTools } from "@cloudflare/ai-utils";
type Env = { AI: Ai;};
export default { async fetch(request, env, ctx) { // 関数を定義する const sum = (args: { a: number; b: number }): Promise<string> => { const { a, b } = args; return Promise.resolve((a + b).toString()); }; // 関数呼び出しを伴う AI 推論を実行する const response = await runWithTools( env.AI, // 関数呼び出しをサポートするモデル "@hf/nousresearch/hermes-2-pro-mistral-7b", { // メッセージ messages: [ { role: "user", content: "123123123 + 10343030 の結果は何ですか?", }, ], // AI モデルが利用できるツールの定義 tools: [ { name: "sum", description: "2 つの数を合計し、結果を返します", parameters: { type: "object", properties: { a: { type: "number", description: "最初の数" }, b: { type: "number", description: "2 番目の数" }, }, required: ["a", "b"], }, // 以前に定義された関数への参照 function: sum, }, ], }, ); return new Response(JSON.stringify(response)); },} satisfies ExportedHandler<Env>;この例では、import { runWithTools} from "@cloudflare/ai-utils" を使用してユーティリティをインポートし、以下の API リファレンスに従います。
さらに、この例では、LLM がユーザーのクエリに応答するために利用できるツールのリストを定義し、説明します。ここでは、リストには sum 関数という 1 つのツールのみが含まれています。
runWithTools 関数によって抽象化された次のステップが発生します。
sequenceDiagram
participant Worker as Worker
participant WorkersAI as Workers AI
Worker->>+WorkersAI: メッセージ、関数呼び出しプロンプト、および利用可能なツールを送信
WorkersAI->>+Worker: 関数呼び出しのためのツールと引数を選択
Worker-->>-Worker: 関数を実行
Worker-->>+WorkersAI: メッセージ、関数呼び出しプロンプト、および関数結果を送信
WorkersAI-->>-Worker: 関数出力を組み込んだ応答を送信
ai-utils パッケージ は Github ↗ でもオープンソースとして公開されています。
ローカル開発とデプロイのために、Workers AI 始めるガイドの手順 4 と 5 に従ってください。
詳細については、API リファレンスを参照してください。