テキスト用エンベディング(textembedding-gecko
)は、テキスト エンベディングをサポートするモデルの名前です。テキスト エンベディングは、テキストデータを数値ベクトルに変換する NLP 手法です。数値ベクトルは ML アルゴリズム、特に大規模モデルで処理されます。これらのベクトル表現は、対象となる単語の意味とコンテキストを捉えて表現するように設計されています。
エンベディングにはいくつかのバージョンがあります。textembedding-gecko@003
は AI の品質が向上した最新の安定したエンベディング モデルで、textembedding-gecko-multilingual@001
は英語以外の幅広い言語向けに最適化されたモデルです。
コンソールでこのモデルを確認するには、Model Garden に移動して Embeddings for Text モデルカードを使用します。
Model Garden に移動
ユースケース
セマンティック検索: テキスト エンベディングを使用して、ユーザーのクエリと一連のドキュメントの両方を高次元ベクトル空間で表現します。ユーザーのクエリと意味的に似ているドキュメントは、ベクトル空間内の距離が短くなるため、検索結果でのランキングが上がります。
テキスト分類: テキスト エンベディングを正しいカテゴリラベルにマッピングするモデルをトレーニングします(猫と犬、スパムと非スパムなど)。モデルをトレーニングした後、そのモデルを使用して、新しいテキスト入力をエンベディングに基づいて 1 つ以上のカテゴリに分類できます。
HTTP リクエスト
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/textembedding-gecko:predict
モデル バージョン
モデルの最新バージョンを使用するには、@latest というサフィックスを付けて指定します(例: textembedding-gecko@latest
)。
モデルの安定版を使用する場合は、モデルのバージョン番号を指定します(例: textembedding-gecko@003
)。安定版は、後続の安定版のリリース日から 6 か月間利用できます。
次の表に、利用可能なモデルの安定版を示します。
textembedding-gecko モデル | リリース日 | 廃止日 |
---|---|---|
textembedding-gecko@003 | 2023 年 12 月 12 日 | なし |
textembedding-gecko@002 | 2023 年 11 月 2 日 | 2024 年 10 月 9 日 |
textembedding-gecko-multilingual@001 | 2023 年 11 月 2 日 | なし |
textembedding-gecko@001 | 2023 年 6 月 7 日 | 2024 年 10 月 9 日 |
text-embedding-preview-0409 | 2024 年 4 月 9 日 | 安定版へ更新予定。 |
text-multilingual-embedding-preview-0409 | 2024 年 4 月 9 日 | 安定版へ更新予定。 |
詳細については、モデルのバージョンとライフサイクルをご覧ください。
リクエストの本文
{
"instances": [
{
"task_type": "RETRIEVAL_DOCUMENT",
"title": "document title",
"content": "I would like embeddings for this text!"
},
]
}
Vertex AI PaLM Embedding API は、オンライン(リアルタイム)予測を実行して入力テキストからエンベディングを取得します。
この API は最大 3,072 個の入力トークンを受け入れ、768 次元のベクトル エンベディングを出力します。テキスト エンベディング モデル textembedding-gecko
には、次のパラメータを使用します。詳細については、テキスト エンベディングの概要をご覧ください。
パラメータ | 説明 | 使用できる値 |
---|---|---|
|
エンベディングを生成するテキスト。 | テキスト |
|
task_type パラメータは、モデルが質の高いエンベディングを生成できるように、予定されているダウンストリームの用途として定義されています。これは次のいずれかの値を取る文字列です。 | RETRIEVAL_QUERY 、RETRIEVAL_DOCUMENT 、SEMANTIC_SIMILARITY 、CLASSIFICATION 、CLUSTERING 、QUESTION_ANSWERING 、FACT_VERIFICATION |
|
エンベディングのタイトル。 | テキスト |
リクエストの例
REST
Vertex AI API を使用してテキスト プロンプトをテストするには、パブリッシャー モデル エンドポイントに POST リクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際のプロジェクト ID。
- TEXT: エンベディングを生成するテキスト。
HTTP メソッドと URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/textembedding-gecko@003:predict
リクエストの本文(JSON):
{ "instances": [ { "content": "TEXT"} ], }
リクエストを送信するには、次のいずれかのオプションを選択します。
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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/textembedding-gecko@003:predict"
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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/textembedding-gecko@003:predict" | Select-Object -Expand Content
レスポンスの例のような JSON レスポンスが返されます。
Python
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Python API リファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Vertex AI Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
このサンプルを試す前に、Vertex AI クライアント ライブラリをインストールするにある Java の設定手順を完了してください。詳細については、Vertex AI Java API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
レスポンスの本文
{
"predictions": [
{
"embeddings": {
"statistics": {
"truncated": boolean,
"token_count": integer
},
"values": [ number ]
}
}
]
}
レスポンス要素 | 説明 |
---|---|
embeddings |
入力テキストから生成された結果。 |
statistics |
入力テキストから計算された統計値。 |
truncated |
入力テキストが最大許容トークン数より長く、切り捨てられたかどうかを示します。 |
tokenCount |
入力テキストのトークンの数。 |
values |
values フィールドには、入力テキストの単語に対応するエンベディング ベクトルが含まれます。 |
レスポンスの例
{
"predictions": [
{
"embeddings": {
"values": [
0.0058424929156899452,
0.011848051100969315,
0.032247550785541534,
-0.031829461455345154,
-0.055369812995195389,
...
],
"statistics": {
"token_count": 4,
"truncated": false
}
}
}
]
}