このトピックでは、クエリ分析サービスの API の詳細について説明します。
サービス名 | サービス ID | サービスの説明 | API 呼び出しの QPS 制限 (Alibaba Cloud アカウントと RAM ユーザー) |
クエリ分析サービス | ops-query-analyze-001 | 大規模言語モデルと NLP 機能を搭載したクエリコンテンツ分析サービスを提供します。このサービスには、ユーザー入力クエリのインテント検出、類似質問の展開、NL2SQL 処理が含まれており、RAG シナリオでの検索と回答生成のパフォーマンスを効果的に向上させます。 | 10 説明 より高い QPS を申請するには、チケットを送信してください。 |
認証情報の取得
API を介して OpenSearch Search Development Console サービスを呼び出す場合は、呼び出し元の ID を認証する必要があります。
サービスアクセスアドレスの取得
パブリックネットワークと VPC の両方でサービスの呼び出しをサポートしています。詳細については、サービス登録アドレスの取得を参照してください。
概要
リクエストボディは 8MB を超えてはなりません。
リクエストメソッド
POST
URL
{host}/v3/openapi/workspaces/{workspace_name}/query-analyze/{service_id}host: サービスを呼び出すためのアドレス。パブリックネットワークと VPC の両方を介した API サービスの呼び出しをサポートしています。詳細については、エンドポイントのクエリを参照してください。
service_id: システム組み込みのサービス ID。例: ops-query-analyze-001。
リクエストパラメータ
ヘッダーパラメータ
API-KEY 認証
パラメータ | タイプ | 必須 | 説明 | 値の例 |
Content-Type | String | はい | リクエストタイプ: application/json | application/json |
Authorization | String | はい | API-Key | Bearer OS-d1**2a |
ボディパラメータ
パラメータ | タイプ | 必須 | 説明 | 値の例 |
query | String | はい | このリクエストのコンテンツ。 | 何人ですか? |
history | List<Message> | いいえ | 履歴メッセージ。 | [{ "content": "中国の首都はどこですか", "role": "user" }, { "content": "北京", "role": "assistant" }] |
history.content | String | いいえ | メッセージの内容。 | 中国の首都はどこですか |
history.role | String | いいえ | メッセージの送信者。現在の役割のオプション値: system、user、assistant。 | user |
functions | List<Function> | いいえ | 有効な関数と対応するパラメータ。 有効な値:
注:
| |
functions[].name | String | いいえ | 関数を指定する場合は、name を指定する必要があります。 | |
functions[].parameters | Map | いいえ | 関数の parameters。 | |
functions[].parameters.enable | boolean | いいえ | 関数を有効にするかどうかを指定します。 | true |
レスポンスパラメータ
パラメータ | タイプ | 説明 | 値の例 |
request_id | String | API 呼び出しに対してシステムによって割り当てられた一意の識別子。 | A5B25952-4406-45BF-99EC-E8020246**** |
latency | Float/Int | リクエスト期間 (ミリ秒)。 | 10 |
result.query | String | 処理されたリクエスト。 | 何人ですか |
result.queries | List<String> | 生成された代替クエリ。 | [ "北京には何人いますか" ] |
result.intent | String | インテント検出結果。 | Q&A ペア |
result.sql | Map | nl2sql の結果。 |
Curl リクエストの例
curl -XPOST -H"Content-Type: application/json"
\http://****.opensearch.aliyuncs.com/v3/openapi/workspaces/default/query-analyze/ops-query-analyze-001\
-H "Authorization: Bearer Your API-Key" \
-d'{
"query":"What class is Jack in", // Jack はどのクラスですか
"history":[
{
"role":"user",
"content":"Where is the capital of China" // 中国の首都はどこですか
},
{
"role":"assistant",
"content":"Beijing" // 北京
}
],
"functions":[
{
"name":"pre",
"parameters":
{
"enable":true
}
},
{
"name":"intent",
"parameters":
{
"enable":true
}
},
{
"name":"similar_query",
"parameters":
{
"enable":true
}
},
{
"name":"nl2sql",
"parameters":
{
"enable":true,
"config_name":"n_1726047726"
}
}
]
}'レスポンスの例
正常なレスポンスの例
{
"request_id":"023FC760-E273-4163-B2DA-5CF28E2A****",
"latency":6383,
"usage":{
"total_tokens":1082,
"output_tokens":41,
"input_tokens":1041
},
"result":{
"query":"What class is Jack from", // Jack はどのクラス出身ですか
"queries":[
"The class Jack from" // Jack 出身のクラス
],
"intent":"Q&A",
"sql":{
"text":"SELECT students.class FROM students WHERE students.name = 10002;"
}
}
}異常なレスポンスの例
アクセスリクエストでエラーが発生した場合、出力結果は code と message によってエラーの理由を示します。
{
"request_id":"19C54DAA-AD50-4B37-A48C-912A8F82****",
"latency":0,
"code":"InvalidParameter",
"message":"Required parameter: query missing or invalid, please check the request parameter." // 必須パラメータ: query が欠落しているか無効です。リクエストパラメータを確認してください。
}ステータスコードの説明
HTTP ステータスコード | エラーコード | 説明 |
200 | - | リクエスト成功。タスク失敗のシナリオも含みます。実際のタスクステータスは result.status から判断する必要があります。 |
404 | BadRequest.TaskNotExist | タスクが存在しません。 |
400 | InvalidParameter | 無効なリクエスト。 |
500 | InternalServerError | 内部エラー。 |