大規模言語モデル(LLM)との会話を実行します。プロンプトパラメータを設定して、質問または会話の内容を指定できます。ビジネス要件に基づいて LLM を選択し、LLM によって生成された結果をモデレートするかどうかなどの設定を構成することもできます。
前提条件
ID 認証用の API キーを取得しています。OpenSearch LLM-Based Conversational Search Edition の API オペレーションを呼び出すときは、認証されている必要があります。詳細については、「API キーの管理」をご参照ください。LLM は、大規模言語モデルの略語です。
エンドポイントを取得しています。OpenSearch LLM-Based Conversational Search Edition の API オペレーションを呼び出すときは、エンドポイントを指定する必要があります。詳細については、「エンドポイントの取得」をご参照ください。
操作情報
リクエストメソッド | リクエストプロトコル | リクエストデータ形式 |
POST | HTTP | JSON |
リクエスト URL
{host}/v3/openapi/apps/[app_group_identity]/actions/knowledge-llm{host}: API オペレーションの呼び出しに使用するエンドポイント。インターネットまたは仮想プライベートクラウド(VPC)経由で API オペレーションを呼び出すことができます。エンドポイントの取得方法の詳細については、「エンドポイントの取得」をご参照ください。{app_group_identity}: アクセスするアプリケーションの名前。 OpenSearch LLM-Based Conversational Search Edition コンソール にログインし、[インスタンス管理] ページで対応するインスタンスのアプリケーション名を確認できます。
リクエストパラメータ
パラメータ | タイプ | 説明 | 例 |
question | String | ユーザーが尋ねた質問。 | what is OpenSearch |
type | String | 質問のタイプ。 | text |
content | Array | ドキュメントの内容。 | ["OpenSearch","Havenask"] |
options | Json | パラメータオプション。 | |
stream | ブール値 | HTTP チャンク転送エンコーディングを有効にするかどうかを指定します。 | false |
prompt | String | プロンプトの内容。 | |
model | String | 使用する LLM 。 シンガポールリージョンの有効な値:
| "qwen-turbo" |
csi_level | String | LLM によって生成された結果をモデレートするかどうかを指定します。有効な値:
| none |
リクエストの例
1. ドキュメントの内容に基づいて要約します。
{
"question" : "ユーザーが尋ねた質問",
"type" : "text",
"content" : ["候補コンテンツ 1","候補コンテンツ 2"],
"options" : {
"stream" : false, // HTTP チャンク転送エンコーディングを有効にするかどうかを指定します。デフォルト値: false。
},
"model": "Qwen",
"csi_level" : "none" // LLM によって生成された結果のコンテンツモデレーション設定。none: 結果をモデレートしません。loose: 結果をモデレートし、制限されたコンテンツが検出された場合は結果をブロックします。
}2. プロンプトを直接指定します。
{
"prompt": "プロンプトの内容",
"model": "Qwen",
"options" : {
"stream" : false, // HTTP チャンク転送エンコーディングを有効にするかどうかを指定します。デフォルト値: false。
},
"csi_level" : "none" // LLM によって生成された結果のコンテンツモデレーション設定。none: 結果をモデレートしません。loose: 結果をモデレートし、制限されたコンテンツが検出された場合は結果をブロックします。
}prompt パラメータを指定した場合、question パラメータと content パラメータの値は有効になりません。prompt パラメータの値は、LLM のプロンプトとして直接使用されます。
レスポンスパラメータ
パラメータ | タイプ | 説明 | 例 |
request_id | String | リクエスト ID。 | abc123-ABC |
latency | Float | レイテンシ。 | 10.0 |
result | Json | 結果。 | |
data | Array | 返されたデータセット。 | |
answer | String | 回答。 | 回答テキスト |
type | String | 回答のタイプ。 | text |
errors | Array | エラー。 | |
code | String | エラーコード。 | 1001 |
message | String | エラーメッセージ。 | APP is not found |
レスポンスの例
{
"request_id" : "",
"latency" : 10.0, // 単位: 秒。
"result" : {
"data": [
{
"answer" : "回答テキスト",
"type" : "text"
}
]
},
"errors" : [
{
"code" : "エラーが発生した場合に返されるエラーコード",
"message" : "エラーが発生した場合に返されるエラーメッセージ"
}
]
}