Firebase Genkit の使用を開始するには、Genkit CLI をインストールし、Node.js プロジェクトで genkit init
を実行します。このページの残りの部分では、その方法について説明します。
要件
Node.js 20 以降。
手順
次のコマンドを実行して、Genkit CLI をインストールします。
npm i -g genkit
新しい Node プロジェクトを作成します。
mkdir genkit-intro && cd genkit-intro
npm init -y
package.json で、
main
フィールドがlib/index.js
に設定されていることを確認します。Genkit プロジェクトを初期化します。
genkit init
デプロイ プラットフォームのオプションとして
Node.js
を選択します(Firebase Cloud Functions と Google Cloud Run のテンプレートも使用できます)。モデルの選択:
Gemini(Google AI)
最も簡単な開始方法は、Google AI Gemini API を使用することです。お住まいの地域で利用可能であることを確認してください。
Google AI Studio を使用して、Gemini API の API キーを生成します。次に、
GOOGLE_GENAI_API_KEY
環境変数をキーに設定します。export GOOGLE_GENAI_API_KEY=<your API key>
Gemini(Vertex AI)
お住まいの地域で Google AI Gemini API を利用できない場合は、Gemini やその他のモデルを提供する Vertex AI API の使用を検討してください。課金が有効になっている Google Cloud プロジェクトを用意し、AI Platform API を有効にして、追加の環境変数を設定する必要があります。
gcloud services enable aiplatform.googleapis.com
export GCLOUD_PROJECT=<your project ID>
export GCLOUD_LOCATION=us-central1
Vertex AI の料金については、https://cloud.google.com/vertex-ai/generative-ai/pricing をご覧ください。
残りの質問に対するデフォルトの回答を選択します。これにより、プロジェクト フォルダがいくつかのサンプルコードで初期化されます。
genkit init
コマンドにより、サンプルのソースファイルindex.ts
が作成されます。これはプロジェクトのエントリ ポイントであり、プロジェクト向けに Genkit を構成し、定義した AI フローとその他のリソースのロードとエクスポートを行うプラグインを構成します。サンプル ファイルには、先ほど選択したモデル プロバイダをサポートするプラグインを読み込む構成が含まれています。また、単一のフローmenuSuggestionFlow
も含まれています。このフローは、特定のテーマのレストラン向けの商品を LLM に提案するよう指示します。configureGenkit({ plugins: [googleAI()], logLevel: 'debug', enableTracingAndMetrics: true, }); export const menuSuggestionFlow = defineFlow( { name: 'menuSuggestionFlow', inputSchema: z.string(), outputSchema: z.string(), }, async (subject) => { const llmResponse = await generate({ prompt: `Suggest an item for the menu of a {subject} themed restaurant`, model: geminiPro, config: { temperature: 1, }, }); return llmResponse.text(); } ); startFlowsServer();
Genkit を使用してアプリの AI 機能を構築すると、入力の前処理、より高度なプロンプトの作成、検索拡張生成(RAG)のための外部情報源の統合など、複数のステップを含むフローを作成することになるでしょう。
これで、Genkit 機能とサンプル プロジェクトをマシン上でローカルで実行して確認できるようになりました。Genkit Developer UI をダウンロードして起動します。
genkit start
これで、Genkit Developer UI がマシン上で実行されるようになりました。次のステップでモデルやフローを実行すると、マシンはフローのステップを連携させるために必要なオーケストレーション タスクを実行します。Gemini API などの外部サービスの呼び出しは、引き続きライブサーバーに対して行われます。
また、開発環境にいるため、Genkit はトレースとフローの状態をローカル ファイルに保存します。
genkit start
コマンドを実行すると、Genkit デベロッパー UI が自動的にダウンロードされ、開きます。Developer UI では、定義したフローと構成したモデルを確認して実行し、以前の実行のトレースを調べることができます。次のような機能を試してみましょう。
[Run] タブに、定義したすべてのフローと、プラグインによって構成されたモデルのリストが表示されます。
menuSuggestionFlow を実行し、入力テキスト(例:
"cat"
)を指定して実行してみます。問題がなければ、猫をテーマにしたレストランのメニューの提案が表示されます。[Inspect] タブに、フローの実行履歴が表示されます。フローごとに、フローに渡されたパラメータと、実行された各ステップのトレースを確認できます。
次のステップ
Firebase、Cloud Run、または Node.js プラットフォームを使用して Genkit アプリをビルドしてデプロイする方法を確認する。