リッチテキスト機能を有効にすると、大規模言語モデル (LLM) からの応答には、プレーンテキストだけでなく、ソースドキュメントから抽出されたイメージ、テーブル、コードブロックを含めることができます。
仕組み
ドキュメントインデックス作成中に、検索拡張生成 (RAG) パイプラインは、各ドキュメントからすべてのリッチテキスト要素 (イメージ、テーブル、コード) を抽出し、対応するテキストチャンクとともにリッチテキストタグとして保存します。SearchKnowledge API を介してクエリが送信されると、次のようになります。
OpenSearch は、埋め込まれたリッチテキストタグを含む関連するチャンクを取得します。
LLM は、取得されたチャンクを使用して応答を生成します。リッチテキストタグは応答に保持されます。
設定した
rich_text_strategyの値に応じて、OpenSearch はタグをインラインでレンダリングするか (Markdown)、アプリケーションがレンダリングするために生のコンテンツを別々に返します。
リッチテキスト機能の有効化
[Q&A テスト] ページの [その他のパラメーター] タブで、rich_text_strategy パラメーターを設定します。フィールドを空白のままにすると、リッチテキストが無効になります。

応答のdata配列には、"type": "IMAGE"の項目が含まれる場合があります。これらは取得フェーズからのイメージ結果であり、リッチテキスト機能からの出力ではありません。リッチテキストで生成されたイメージは、data.answer(inside_responseの場合) またはdata.rich_text_ref(extend_responseの場合) に表示され、取得フェーズのイメージよりもコンテキストの関連性が高くなります。
戦略の選択
rich_text_strategy パラメーターは2つの値を受け入れます。アプリケーションがコンテンツをレンダリングする方法に基づいて選択してください。
| 戦略 | 応答形式 | リッチテキストの配信 | 最適な用途 |
|---|---|---|---|
inside_response | Markdown | data.answer | Markdown をネイティブでレンダリングするアプリケーション |
extend_response | プレーンテキスト | data.rich_text_ref | カスタムレンダリングロジックを持つアプリケーション |
パラメーターの設定
SearchKnowledge API リクエストの options.chat オブジェクトに rich_text_strategy を追加します。
{
"question": {
"text": "How do I configure a sensitive data identification rule?",
"type": "TEXT"
},
"options": {
"chat": {
"rich_text_strategy": "inside_response"
}
}
}API パラメーターリファレンス
次のパラメーターが SearchKnowledge API オペレーションに追加されます。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
options.chat.rich_text_strategy | String | いいえ | リッチテキスト処理戦略。存在しないか空白の場合、リッチテキストは無効になり、デフォルトの処理方法が使用されます。有効な値: inside_response、extend_response。 |
応答の解析
inside_response
data.answer を Markdown として解析します。リッチテキストタグはインラインで解決され、テーブルは Markdown 内で HTML として表示されます。rich_text_ref フィールドは無視してください。
応答例:
{
"request_id": "b1f59cc0-daad-45e2-bc41-f01e1c2ff5d7",
"status": "OK",
"latency": 9828.389664,
"result": {
"data": [
{
"answer": "機密データ識別ルールを設定するには、次の手順を実行します。 \n\n1. [機密データ識別] ページに移動します。 \n - DataWorks コンソールにログインし、[データ開発] ページに移動します。 \n - [データ開発] ページで、ドロップダウンリストからワークスペースを選択し、[データ開発に移動] をクリックします。 \n - 表示されるページで、左上隅のアイコンをクリックし、[すべての製品] > [データガバナンス] > [データセキュリティガード] を選択して、[データセキュリティガード] ページに移動します。ページで、[今すぐ試す] をクリックします。 \n - 左側のナビゲーションウィンドウで、[ルール設定] > [機密データ識別] を選択します。 \n\n2. 機密フィールドタイプのカテゴリを設定します。 \n - データセキュリティガードを初めて使用する場合は、左側のセクションでカテゴリを検索または追加できます。 \n - 既存のユーザーの場合は、ビジネス要件に基づいてカテゴリを作成できます。 \n - カテゴリ名は一意である必要があります。名前は1〜30文字の長さで、文字と数字を含めることができます。 \n\n3. 機密データ識別ルールを設定します。 \n - [データ識別ルール] タブで、[+ 機密フィールドタイプ] をクリックして機密フィールドタイプを追加します。 \n - [基本情報] ステップで、機密フィールドタイプに関する基本情報を設定します。 \n - [機密フィールドタイプ] フィールドに値を入力します。 \n - [データカテゴリ] ドロップダウンリストから値を選択します。 \n - [感度レベル] ドロップダウンリストから値を選択します。 \n - [説明] フィールドに値を入力します。 \n - [次へ] をクリックします。 \n - [ルール設定] ステップで、機密フィールドタイプに基づいて機密データ識別ルールを設定し、ルールがトリガーされる条件を設定してから、ルールの精度をテストします。 \n - [使用するために公開] をクリックして、機密データ識別ルールを公開します。 \n\n4. 機密データ識別タスクを承認して機密データを識別し、タスクを開始します。 \n - [機密データ識別] ページの左上隅で、[タスクの実行] をクリックして、機密データ識別タスクを承認して機密データを識別します。 \n - 機密データ識別タスクを開始します。 \n - タスクタイプ、スキャン方法、スキャン範囲など、機密データ識別タスクを設定します。 \n - [タスクの実行] をクリックしてタスクを開始します。 \n\n5. 機密データ識別ルールを管理します。 \n - ルールをコピー、変更、または削除します。 \n - 複数のルールを一度に公開または非公開します。 \n\nルールは、機密データ識別タスクで機密データを識別するために、公開された後にのみ使用できます。多数のルールが利用可能な場合は、一度にルールを公開または非公開できます。",
"type": "TEXT_MARKDOWN",
"reference": [
{
"tokenNum": 1814,
"id": "8d89d16d8e73658ee12ea0b9e70a5ee2",
"title": "Configure a sensitive data identification rule and run a sensitive data identification task_DataWorks-Alibaba Cloud Help Center",
"url": "https://xxx.com"
}
],
"rich_text_ref": [
{
"id": "Figure-3873",
"content": "https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/9017816461/p339261.png"
},
{
"id": "Figure-19511",
"content": "https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/5947660271/p819013.png"
}
]
},
{
"answer": "https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/5947660271/p339229.png",
"type": "IMAGE",
"reference": [
{
"tokenNum": 179,
"id": "8d89d16d8e73658ee12ea0b9e70a5ee2",
"title": "Configure a sensitive data identification rule and run a sensitive data identification task_DataWorks-Alibaba Cloud Help Center",
"url": "https://xxx/user-guide/identify-sensitive-data"
}
]
}
]
}
}extend_response
data.answer をプレーンテキストとして解析します。応答には、[^<id>^] 形式のリッチテキストタグのプレースホルダーが含まれています。data.rich_text_ref 内のリッチテキストタグは自動的に解析する必要があり、data.answer 内のリッチテキストタグを置き換えるロジックを開発する必要があります。data.rich_text_ref 内の各タグ ID を検索し、プレースホルダーを対応するコンテンツに置き換えてください。
rich_text_ref フィールドリファレンス:
| フィールド | 型 | 説明 |
|---|---|---|
id | String | data.answer 内のプレースホルダーと一致するタグ識別子 (例: Table-16134、Figure-19933) |
content | String | 実際のリッチテキストコンテンツ。イメージの場合:URL。テーブルの場合:HTML。コードの場合:プレーンテキスト。 |
応答例:
{
"request_id": "0bb16ed4-6eec-4ae4-b1dd-0650289b45b3",
"status": "OK",
"latency": 11421.663139,
"result": {
"data": [
{
"answer": "機密データ識別ルールを設定するには、次の手順を実行します。 \n\n1. [機密データ識別] ページに移動します。 \n - DataWorks コンソールにログインし、データ開発ページに移動します。 \n - 左上隅のアイコンをクリックします。次に、[すべての製品] > [データガバナンス] > [データセキュリティガード] を選択します。表示されるページで、[今すぐ試す] をクリックして、[データセキュリティガード] ページに移動します。 \n - 左側のナビゲーションウィンドウで、[ルール設定] > [機密データ識別] を選択します。 \n\n2. 機密フィールドタイプのカテゴリを設定します。 \n - データセキュリティガードを初めて使用する場合は、左側のセクションでカテゴリを検索または追加できます。 \n - 既存のユーザーの場合は、ビジネス要件に基づいてカテゴリを作成できます。 \n - カテゴリ名は一意である必要があります。名前は1〜30文字の長さで、文字と数字を含めることができます。 \n\n3. 機密データ識別ルールを設定します。 \n - [データ識別ルール] タブで、[+ 機密フィールドタイプ] をクリックして機密フィールドタイプを追加します。 \n - [基本情報] ステップで、[機密フィールドタイプ]、[データカテゴリ]、[感度レベル]、[説明] などのパラメーターを設定します。 [^Table-16134^]\n - [次へ] をクリックします。 \n - [ルール設定] ステップで、機密フィールドタイプに基づいて機密データ識別ルールを設定し、ルールがトリガーされる条件を設定してから、ルールの精度をテストします。 [^Figure-19933^]\n - [使用するために公開] をクリックして、機密データ識別ルールを公開します。 \n\n4. 機密データ識別タスクを承認して機密データを識別し、タスクを開始します。 \n - [機密データ識別] ページの左上隅で、[タスクの実行] をクリックして、機密データ識別タスクを承認して機密データを識別します。 \n - [機密データ識別タスクを有効にする] パネルで、タスクタイプ、スキャン方法、スキャン範囲など、機密データ識別タスクを設定します。 [^Figure-41464^]\n - [実行] をクリックしてタスクを開始します。 \n\n次の項目に注意してください。 \n- ルールを使用しない場合は、[下書きとして保存] をクリックしてルールを保存できます。 \n- 列のデータが異なる機密フィールドタイプに設定された複数の機密データ識別ルールにヒットした場合、システムは次の順序で列の機密データを識別します。機密フィールド名識別、機密コンテンツ識別、機密コメント識別。 \n- 新しいルールをリアルタイムで有効にする場合は、タスクを手動でトリガーして実行する必要があります。 \n- 機密データ識別ルールを変更すると、新しいルールは次回タスクが自動的に実行されるときに有効になります。 \n\nさらに、次の操作を実行できます。 \n- ルールのコピー \n- ルールの変更 \n- ルールの削除 \n- 複数のルールを一度に公開 \n- 複数のルールを一度に非公開 \n\nこれらの操作は、機密データ識別ルールをより柔軟に管理するのに役立ちます。",
"type": "TEXT",
"reference": [
{
"tokenNum": 1814,
"id": "8d89d16d8e73658ee12ea0b9e70a5ee2",
"title": "Configure a sensitive data identification rule and run a sensitive data identification task_DataWorks-Alibaba Cloud Help Center",
"url": "https://xxx.com"
}
],
"rich_text_ref": [
{
"id": "Table-16134",
"content": "<table><tbody>\n <tr>\n <td></td>\n <td></td>\n </tr>\n <tr>\n <td></td>\n <td>The name of the sensitive field type, such as name, ID number, or phone number. The name must be unique. </td>\n </tr>\n <tr>\n <td></td>\n <td>The category to which the sensitive field type belongs. If the existing categories do not meet your business requirements, you can configure a category on the page. For more information, see <a href=\"https://xxx.com\" id=\"21566a9cceiv9\" title=\"\" class=\"xref\">Specify the category and sensitivity level of sensitive data</a>. </td>\n </tr>\n <tr>\n <td></td>\n <td>The sensitivity level of the sensitive field type. A large number indicates a high sensitivity level. If the existing sensitivity levels do not meet your requirements, you can configure a sensitivity level on the page. For more information, see <a href=\"https://xxx.com\" id=\"39588a781b9hn\" title=\"\" class=\"xref\">Specify the category and sensitivity level of sensitive data</a>. </td>\n </tr>\n</tbody></table>"
},
{
"id": "Figure-19933",
"content": "https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/9017816461/p339261.png"
},
{
"id": "Figure-41464",
"content": "https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/5947660271/p819013.png"
}
]
},
{
"answer": "https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/5947660271/p339229.png",
"type": "IMAGE",
"reference": [
{
"tokenNum": 179,
"id": "8d89d16d8e73658ee12ea0b9e70a5ee2",
"title": "Configure a sensitive data identification rule and run a sensitive data identification task_DataWorks-Alibaba Cloud Help Center",
"url": "https://xxx.com"
}
]
}
]
}
}