このページでは、新しい 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-005
text-multilingual-embedding-002
Example Store インスタンスを作成した後に、エンベディング モデルを変更することはできません。別のエンベディング モデルを使用する場合は、別のサンプルストアを作成する必要があります。テキスト エンベディングの詳細については、テキスト エンベディングを取得するをご覧ください。
既存の Example Store インスタンスを再利用する: Example Store インスタンスは複数のエージェントで使用するように設計されているため、LLM アプリケーション全体で保存された例にアクセスできます。既存の Example Store インスタンスを再利用する場合、エンベディング モデルを変更することはできません。
前提条件
このページの Python サンプルを使用する前に、ローカルの Python 環境に Vertex AI SDK for Python をインストールして初期化します。
次のコマンドを実行して、Vertex AI SDK for Python for Example Store をインストールします。
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
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Python の設定手順を完了してください。詳細については、Vertex AI Python API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
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-004
text-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@003
text-embedding-004
text-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
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Python の設定手順を完了してください。詳細については、Vertex AI Python API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
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 インスタンスの名前。