このページでは、新しい Example Store インスタンスを作成する方法と、既存の Example Store インスタンスを再利用する方法について説明します。LLM アプリケーションを開発する際に、Example Store に例を保存し、LLM プロンプトで使用するために動的に取得できます。
少数ショットの例を使用して LLM またはエージェントに教えるには、まずプロジェクトとロケーションの Example Store インスタンスを作成または再利用してから、例をアップロードする必要があります。
プロジェクトとロケーションごとに、最大 50 個の Example Store インスタンスを作成できます。Example Store インスタンスを作成したら、複数の LLM アプリケーションとエージェントで共有できます。
Example Store インスタンスをプロビジョニングする方法は 2 つあります。
新しい Example Store インスタンスを作成する: 新しい Example Store インスタンスを作成するときに、エンベディング モデルを指定する必要があります。Example Store はこのモデルを使用して、ユーザーのクエリに関連する例を特定します。Example Store は、次のエンベディング モデルをサポートしています。
text-embedding-005text-multilingual-embedding-002
Example Store インスタンスを作成した後に、エンベディング モデルを変更することはできません。別のエンベディング モデルを使用する場合は、別の Example Store を作成する必要があります。テキスト エンベディングの詳細については、テキスト エンベディングを取得するをご覧ください。
既存の Example Store インスタンスを再利用する: Example Store インスタンスは複数のエージェントで使用するように設計されているため、LLM アプリケーション全体で保存された例にアクセスできます。既存の Example Store インスタンスを再利用する場合、エンベディング モデルを変更することはできません。
前提条件
このページの Python サンプルを使用する前に、ローカルの Python 環境に Agent Platform SDK をインストールして初期化します。
次のコマンドを実行して、Example Store 用の Agent Platform SDK をインストールします。
pip install --upgrade google-cloud-aiplatform>=1.87.0次のコードサンプルを使用し、Example Store の SDK をインポートして初期化します。
import vertexai from vertexai.preview import example_stores vertexai.init( project="PROJECT_ID", location="LOCATION" )次のように置き換えます。
PROJECT_ID: プロジェクト ID。
LOCATION: リージョン。
us-central1のみがサポートされています。
Example Store インスタンスを作成する
次のサンプルを使用して、指定したプロジェクトとロケーションの Example Store インスタンスを作成します。Example Store インスタンスの作成には数分かかります。
Python
このサンプルを試す前に、クライアント ライブラリを使用した Agent Platform クイックスタートの Python の手順に沿って設定を行ってください。
Agent Platform で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
import vertexai
from vertexai.preview import example_stores
vertexai.init(
project="PROJECT_ID",
location="LOCATION"
)
my_example_store = example_stores.ExampleStore.create(
example_store_config=example_stores.ExampleStoreConfig(
vertex_embedding_model="EMBEDDING_MODEL"
)
)
次のように置き換えます。
- PROJECT_ID: 実際のプロジェクト ID。
- LOCATION: example store を作成するリージョン。サポートされているリージョンは
us-central1のみです。 - EMBEDDING_MODEL: Example Store インスタンスがユーザーのクエリに関連する例を判断するために使用するエンベディング モデル。Example Store は、次のエンベディング モデルをサポートしています。
text-embedding-005text-multilingual-embedding-002
REST
ExampleStore リソースを作成するには、exampleStores.create メソッドを使用して POST リクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際のプロジェクト ID。
- LOCATION: Example Store インスタンスを作成するリージョン。サポートされているリージョンは
us-central1のみです。 - DISPLAY_NAME: Example Store インスタンスの名前。
- EMBEDDING_MODEL: Example Store インスタンスがユーザーのクエリに関連する例を判断するために使用するエンベディング モデル。Example Store は、次のエンベディング モデルをサポートしています。
textembedding-gecko@003text-embedding-004text-multilingual-embedding-002
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/exampleStores
リクエストの本文(JSON):
{
"display_name": "DISPLAY_NAME",
"example_store_config": {"vertex_embedding_model": EMBEDDING_MODEL}
}
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/exampleStores"
PowerShell
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/exampleStores" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。ここで、EXAMPLE_STORE_ID は Example Store インスタンスの ID を表します。
既存の Example Store インスタンスを再利用する
次のサンプルを使用して、指定したプロジェクトとロケーションで既存の Example Store インスタンスを再利用します。
Python
このサンプルを試す前に、クライアント ライブラリを使用した Agent Platform クイックスタートの Python の手順に沿って設定を行ってください。
Agent Platform で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
import vertexai
from vertexai.preview import example_stores
vertexai.init(
project="PROJECT_ID",
location="LOCATION"
)
example_store = example_stores.ExampleStore(
"EXAMPLE_STORE_NAME")
次のように置き換えます。
- PROJECT_ID: 実際のプロジェクト ID。
- LOCATION: example store を作成するリージョン。サポートされているリージョンは
us-central1のみです。 - EXAMPLE_STORE_NAME: 再利用する Example Store インスタンスの名前。