OpenSearch Search Development Workbench では、API オペレーションを呼び出すことで、スパーステキスト埋め込みサービスを使用できます。 このサービスを使用して、テキストデータをスパースベクトルに変換できます。 スパースベクトルは、より小さなストレージ容量を占有し、キーワードや単語の頻度情報を表現するために一般的に使用されます。 これらを密ベクトルと組み合わせてハイブリッド検索を行うことで、検索効果を向上させることができます。
サービス | ID | 説明 | API 呼び出しの QPS 制限(Alibaba Cloud アカウントおよび RAM ユーザー) |
OpenSearch スパーステキスト埋め込み | ops-text-sparse-embedding-001 |
| 50 説明 より高い QPS を申請するには、チケットを送信してください。 |
前提条件
認証情報の取得
API を介して OpenSearch Search Development Console サービスを呼び出す場合は、呼び出し元の ID を認証する必要があります。
サービスアクセスアドレスの取得
パブリックネットワークと VPC の両方によるサービスの呼び出しをサポートしています。 詳細については、「サービス登録アドレスの取得」をご参照ください。
使用上の注意
リクエストボディのサイズは 8 MB を超えることはできません。
リクエストメソッド
POST
URL
{host}/v3/openapi/workspaces/{workspace_name}/text-sparse-embedding/{service_id} URL パラメーター
host:API オペレーションの呼び出しに使用するエンドポイント。 インターネットまたは仮想プライベートクラウド(VPC)を介して API オペレーションを呼び出すことができます。 エンドポイントの取得方法の詳細については、「エンドポイントのクエリ」をご参照ください。
workspace_name:ワークスペースの名前。 例:default。
service_id:使用するサービスの ID。 例:ops-text-sparse-embedding-001。
リクエストパラメーター
ヘッダーパラメーター
API キー認証
パラメーター | タイプ | 必須 | 説明 | 例 |
Content-Type | String | はい | リクエストタイプ。 値を application/json に設定します。 | application/json |
Authorization | String | はい | API キー。 | Bearer OS-d1**2a |
ボディパラメーター
パラメーター | タイプ | 必須 | 説明 | 例 |
input | Array/String | はい | 入力テキストエントリ。 各リクエストには最大 32 個のエントリを含めることができます。 エントリの 길이는、選択したモデルによって決まります。 空の文字列はサポートされていません。 | ["Science and technology are the primary productive forces","OpenSearch product documentation"] |
input_type | String | いいえ | 入力のデータ型。 有効な値:
デフォルト値:document。 | document |
return_token | boolean | いいえ | 埋め込みを返すかどうかを指定します。 有効な値:
デフォルト値:false。 | false |
レスポンスパラメーター
パラメーター | タイプ | 説明 | 例 |
request_id | String | リクエスト ID。 | B4AB89C8-B135-****-A6F8-2BAB801A2CE4 |
latency | Float/Int | リクエストに消費された時間(ミリ秒)。 | 10 |
usage | Object | 現在の呼び出しに関する計測情報。 | "usage": { "token_count": 11 } |
usage.token_count | Int | トークンの数。 | 11 |
result.sparse_emebddings | List | リクエストで使用されたアルゴリズムの出力。 値は配列のリストです。 各配列には、入力テキストエントリのアルゴリズムの出力が含まれています。 | [ { "index": 0, "embedding": [{ "tokenId": 6, "weight": 0.10137939453125 }] }, { "index": 1, "embedding": [{ "tokenId": 9803, "weight": 0.1951904296875 }] } ] |
result.sparse_embeddings[].index | Int | リクエスト内の入力テキストエントリのシーケンス番号。 | 0 |
result.sparse_embeddings[].embedding | List | スパース埋め込み結果。 | [ { "token":"test", "token_id": 900, "weight":0.423 }] |
result.sparse_embeddings[].embedding[].token | String | テキストトークン。 このパラメーターは、return_token が true に設定されている場合に返されます。 | "xxx" |
result.sparse_embeddings[].embedding[].token_id | Int | トークンの ID。 | 123 |
result.sparse_embeddings[].embedding[].weight | Float | 重み。 | 0.121 |
サンプル cURL リクエスト
curl -XPOST -H"Content-Type: application/json"
"http://****-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/text-sparse-embedding/ops-text-sparse-embedding-001"
-H "Authorization: Bearer <Your API key>"
-d "{
\"input\": [
\"Science and technology are the primary productive forces\",
"OpenSearch product documentation"
],
\"input_type\": \"query\",
\"return_token\": false
}"サンプルレスポンス
正常なレスポンスの例
{
"request_id": "75C50B5B-E79E-4930-****-F48DBB392231",
"latency": 22,
"usage": {
"token_count": 11
},
"result": {
"sparse_embeddings": [
{
"index": 0,
"embedding": [
{
"tokenId": 6,
"weight": 0.10137939453125
},
{
"tokenId": 163040,
"weight": 0.2841796875
},
{
"tokenId": 354,
"weight": 0.1431884765625
},
{
"tokenId": 5998,
"weight": 0.161376953125
},
{
"tokenId": 8550,
"weight": 0.2388916015625
},
{
"tokenId": 2017,
"weight": 0.1614990234375
}
]
},
{
"index": 1,
"embedding": [
{
"tokenId": 9803,
"weight": 0.1951904296875
},
{
"tokenId": 86250,
"weight": 0.317138671875
},
{
"tokenId": 5889,
"weight": 0.17529296875
},
{
"tokenId": 2564,
"weight": 0.11614990234375
},
{
"tokenId": 59529,
"weight": 0.1666259765625
}
]
}
]
}
}エラーレスポンスの例
API リクエストでエラーが発生した場合、対応するエラーコードとエラーメッセージが code パラメーターと message パラメーターを使用して返されます。
{
"request_id": "45C8C9E5-6BCB-****-80D3-E298F788512B",
"latency": 0,
"code": "InvalidParameter",
"message": "JSON parse error: Unexpected character ..."
}エラーコード
エラーコードの一覧については、「ステータスコード」をご参照ください。