すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:RAG パフォーマンスの最適化

最終更新日:Dec 05, 2025

Alibaba Cloud Model Studio で検索拡張生成 (RAG) 機能を使用している際に、ナレッジの取得が不完全であったり、内容が不正確であったりする場合、このトピックでは RAG のパフォーマンスを向上させるための提案と例を紹介します。

1. RAG ワークフローの概要

RAG は、情報取得とテキスト生成を組み合わせた技術です。これにより、モデルは回答を生成する際に、外部のナレッジベースから関連情報を利用できます。

そのワークフローには、解析とチャンク化、ベクトルストレージ、取得とリコール、回答生成など、いくつかの主要なステージが含まれます。

image.jpeg

このトピックでは、解析とチャンク化、取得とリコール、および回答生成のステージに焦点を当てて、RAG のパフォーマンスを最適化する方法について説明します。

2. RAG パフォーマンスの最適化

2.1 準備

まず、ナレッジベースにインポートするドキュメントが次の要件を満たしていることを確認します:

  • 関連ナレッジを含める: ナレッジベースに関連情報が不足している場合、モデルは関連する質問に答えられない可能性が高いです。この問題を解決するには、ナレッジベースを更新し、必要な情報を追加します。

  • Markdown フォーマットの使用 (推奨): PDF コンテンツはフォーマットが複雑で、解析結果が理想的でない場合があります。PDF をまず Markdown、DOC、DOCX などのテキストドキュメントフォーマットに変換することをお勧めします。たとえば、Model Studio の DashScopeParse ツールを使用して PDF を Markdown フォーマットに変換し、その後モデルを使用してフォーマットを整理することもできます。これでも良い結果が得られます。。

    ドキュメント内のイラストはどのように処理すればよいですか?

    ナレッジベースは現在、ドキュメント内のビデオまたはオーディオコンテンツの解析をサポートしていません。
  • 明確なコンテンツ表現、合理的な構造、および特別なスタイルなし: ドキュメントのコンテンツレイアウトも RAG のパフォーマンスに大きく影響します。詳細については、「RAG に役立つようにドキュメントをフォーマットするにはどうすればよいですか?」をご参照ください。

  • プロンプト言語を一致させる: ユーザーのプロンプトが、英語など、ソースコンテンツとは異なる言語である場合、ドキュメントのコンテンツもその言語にすることをお勧めします。必要に応じて、たとえばドキュメント内の専門用語については、2 つ以上の言語を使用できます。

  • エンティティの曖昧さを排除する: ドキュメント内の同じエンティティの表現を標準化します。たとえば、「ML」、「Machine Learning」、「machine learning」を「machine learning」に標準化できます。

    ドキュメントをモデルに入力して標準化を支援できます。ドキュメントが長い場合は、複数の部分に分割して一つずつ入力できます。

これら 5 つの準備は、その後の RAG 最適化の効果を保証するための基礎です。これらを完了した後、RAG アプリケーションの各部分を深く理解し、最適化を開始できます。

2.2 解析とチャンク化の段階

このセクションでは、RAG チャンク化ステージで Model Studio が最適化をサポートする設定項目のみを紹介します。

まず、ナレッジベースにインポートしたドキュメントが解析され、チャンク化されます。チャンク化の主な目的は、その後のベクトル化プロセス中の干渉情報の影響を最小限に抑えつつ、セマンティックな完全性を維持することです。したがって、ナレッジベースを作成する際に選択するドキュメントチャンク化戦略は、RAG のパフォーマンスに大きな影響を与えます。チャンク化メソッドが不適切な場合、次の問題が発生する可能性があります:

テキストチャンクが短すぎる

テキストチャンクが長すぎる

明らかなセマンティックな切り捨て

image

image

image

短すぎるチャンクはセマンティック情報が欠落し、取得中に一致に失敗する可能性があります。

長すぎるチャンクは無関係なトピックを含み、リコール中に無関係な情報が返される原因となります。

強制的なセマンティックな切り捨てがあるチャンクは、リコールからコンテンツが欠落する原因となります。

したがって、実際のアプリケーションでは、テキストチャンク内の情報を完全にしつつ、過剰な干渉情報を避けるように努める必要があります。Model Studio では、次のアクションを実行することをお勧めします:

  1. ナレッジベースを作成する際、ドキュメントのチャンク化メソッドとして スマートチャンク化 を選択します。

  2. ドキュメントをナレッジベースに正常にインポートした後、テキストチャンクの内容を手動で確認および修正します。

2.2.1 インテリジェントチャンク化

ナレッジベースに適したテキストチャンクの長さを選択することは容易ではありません。なぜなら、次のような複数の要因を考慮する必要があるからです:

  • ドキュメントタイプ: たとえば、専門的な文献の場合、長さを増やすと通常、より多くのコンテキスト情報を保持するのに役立ちます。ソーシャルメディアの投稿の場合、長さを短くすると、セマンティクスをより正確に捉えることができます。

  • プロンプトの複雑さ: 一般的に、ユーザーのプロンプトが複雑で具体的な場合は、長さを増やす必要があるかもしれません。それ以外の場合は、長さを短くする方が適切です。

これらの結論は、必ずしもすべての状況に当てはまるわけではありません。適切なツールを選択し、適切なテキストチャンクの長さを見つけるために繰り返し実験する必要があります。たとえば、LlamaIndex は、さまざまなチャンク化メソッドの評価関数を提供します。しかし、このプロセスは困難な場合があります。

すぐに良い結果を得たい場合は、ナレッジベースを作成する際に [ドキュメント分割][インテリジェントな分割] を選択することをお勧めします。

image

この戦略が適用されると、ナレッジベースは次のステップを実行します:

  1. まず、システムの組み込みの文区切り文字を使用して、ドキュメントをいくつかの段落に分割します。

  2. 分割された段落に基づいて、固定長に基づくチャンク化ではなく、セマンティックな関連性 (セマンティックチャンク化) に基づいてチャンク化するためのチャンク化ポイントを適応的に選択します。

このプロセス中、ナレッジベースはドキュメントの各部分のセマンティックな完全性を確保し、不要な分割やチャンク化を避けようと努めます。この戦略は、このナレッジベース内のすべてのドキュメント (後でインポートされたドキュメントを含む) に適用されます。

2.2.2 テキストチャンクの内容の修正

実際のチャンク化プロセスでは、予期しないチャンク化やその他の問題が依然として発生する可能性があります。たとえば、テキスト内の スペース は、チャンク化後に %20 として解析されることがあります。

image

したがって、Model Studio では、ドキュメントをナレッジベースにインポートした後に手動でチェックを実行して、テキストチャンクの内容のセマンティックな完全性と正確性を確認することをお勧めします。予期しないチャンク化やその他の解析エラーが見つかった場合は、テキストチャンクを直接編集して修正できます。変更を保存すると、テキストチャンクの元の内容は無効になり、新しい内容がナレッジベースの取得に使用されます。

この操作はナレッジベース内のテキストチャンクのみを変更し、データ管理 (一時ストレージ) 内の元のドキュメントやデータテーブルは変更しないことに注意してください。したがって、後で再度ナレッジベースにインポートする場合は、再度手動で確認および修正する必要があります。

2.3 取得とリコールの段階

このセクションでは、取得とリコールのステージで Model Studio が最適化をサポートする設定項目のみを紹介します。

取得とリコールのステージでの主な問題は、ナレッジベース内の多数のテキストチャンクから、プロンプトに最も関連し、正しい答えを含むテキストチャンクを見つけるのが難しいことです。この問題は、次のタイプに分類できます:

問題の種類

改善戦略

複数ラウンドの会話シナリオでは、ユーザーのプロンプトが不完全またはあいまいである可能性があります。

複数ラウンドの会話の書き換えを有効にします。ナレッジベースは自動的にユーザーのプロンプトをより完全な形式に書き換え、ナレッジとよりよく一致させます。

ナレッジベースには複数のカテゴリのドキュメントが含まれています。カテゴリ A のドキュメントで検索すると、リコール結果にはカテゴリ B などの他のカテゴリのテキストチャンクが含まれます。

ドキュメントにタグを追加することをお勧めします。ナレッジベースが情報を取得する際、まずタグに基づいて関連ドキュメントをフィルタリングします。

ドキュメント検索ナレッジベースのみがドキュメントへのタグ追加をサポートしています。

ナレッジベースには、類似した構造を持つ複数のドキュメントが含まれています。たとえば、それらはすべて「機能概要」セクションを含んでいます。ドキュメント A の「機能概要」セクションで検索したいのですが、リコール結果には他の類似ドキュメントからの情報が含まれています。

メタデータを抽出します。ナレッジベースは、ベクトル検索の前に構造化検索のためにメタデータを使用して、ターゲットドキュメントを正確に見つけ、関連情報を抽出します。

ドキュメント検索ナレッジベースのみがドキュメントメタデータの作成をサポートしています。

ナレッジベースのリコール結果が不完全で、すべての関連テキストチャンクが含まれていません。

類似度のしきい値を下げ、リコールされるチャンクの数を増やして、取得されるべき情報をリコールすることをお勧めします。

ナレッジベースのリコール結果には、無関係なテキストチャンクが大量に含まれています。

ユーザーのプロンプトとの類似度が低い情報を除外するために、類似度のしきい値を上げることをお勧めします。

2.3.1 複数ラウンドの会話の書き換え

複数ラウンドの会話では、ユーザーは「Bailian Phone X1」のような短いプロンプトで質問する場合があります。このプロンプトは、以下の理由により、取得中に RAG システムが必要なコンテキストを欠く原因となる可能性があります:

  • 携帯電話製品は通常、複数の世代が同時に販売されています。

  • 同じ世代の製品でも、メーカーは通常、128 GB や 256 GB などの複数のストレージ容量オプションを提供します。

    ...

ユーザーは、会話の前のターンでこの重要な情報をすでに提供している可能性があります。この情報を効果的に使用することで、RAG はより正確な情報を取得できます。

この状況に対処するために、Model Studio の [複数ラウンドの会話の書き換え] 機能を使用できます。システムは、会話履歴に基づいてユーザーのプロンプトをより完全な形式に自動的に書き換えます。

たとえば、ユーザーが次のように質問します:

Bailian Phone X1.

複数ラウンドの会話の書き換え機能が有効になっている場合、システムは取得前に会話履歴に基づいてユーザーのプロンプトを書き換えます。次の例を参照してください:

製品ライブラリにある Bailian Phone X1 の利用可能なすべてのバージョンとその具体的なパラメーターを提供してください。

この書き換えられたプロンプトは、RAG がユーザーの意図をよりよく理解し、より正確な応答を提供するのに役立ちます。

下の図は、複数ラウンドの会話の書き換え機能を有効にする方法を示しています。この機能は、[推奨] を選択した場合にも有効になります。

image

複数ラウンドの会話の書き換え機能はナレッジベースにアタッチされていることに注意してください。一度有効にすると、現在のナレッジベースに関連するクエリにのみ適用されます。ナレッジベースの作成時にこの構成を有効にしなかった場合、ナレッジベースを再作成しない限り、後で有効にすることはできません。

2.3.2 タグフィルタリング

このセクションの内容は、ドキュメント検索ナレッジベースにのみ適用されます。

音楽アプリを使用するとき、アーティスト名で曲をフィルタリングして、そのアーティストの曲をすばやく見つけることがあります。

同様に、非構造化ドキュメントにタグを追加すると、追加の構造化情報が導入されます。これにより、アプリケーションはナレッジベースから取得する際にタグに基づいてドキュメントをフィルタリングでき、取得の精度と効率が向上します。

Model Studio は、タグを設定するための 2 つのメソッドをサポートしています:

  • ドキュメントをアップロードするときにタグを設定する: コンソールでの手順については、「データをインポートする」をご参照ください です。

  • [データ管理] ページでタグを編集する: アップロードされたドキュメントについては、ドキュメントの右側にある [タグ] をクリックして編集できます です。

    image

Model Studio は、タグを使用するための 2 つのメソッドをサポートしています:

  • API を介してアプリケーションを呼び出す場合、tags リクエストパラメーターでタグを指定できます。

  • コンソールでアプリケーションを編集するときにタグを設定します。ただし、このメソッドは エージェントアプリケーション にのみ適用されます。

    この設定は、このエージェントアプリケーションの以降のすべての質問と回答に適用されることに注意してください。

    image

2.3.3 メタデータの抽出

このセクションの内容は、ドキュメント検索ナレッジベースにのみ適用されます。

テキストチャンクにメタデータを埋め込むと、各チャンクのコンテキスト情報が効果的に強化されます。特定のシナリオでは、このメソッドはドキュメント検索ナレッジベースの RAG パフォーマンスを大幅に向上させることができます。

次のシナリオを考えてみましょう:

ナレッジベースには多くの携帯電話製品説明ドキュメントが含まれています。ドキュメント名は電話のモデル (Bailian X1、Bailian Zephyr Z9 など) であり、すべてのドキュメントに「機能概要」の章が含まれています。

このナレッジベースでメタデータが有効になっていない場合、ユーザーは取得のために次のプロンプトを入力する可能性があります:

Bailian Phone X1 の機能概要。

取得テストでは、次の図に示すように、どのチャンクがリコールされたかがわかります。すべてのドキュメントに「機能概要」セクションが含まれているため、ナレッジベースはクエリエンティティ (Bailian Phone X1) とは無関係ですが、プロンプトに類似しているいくつかのテキストチャンクをリコールします。たとえば、図のチャンク 1 とチャンク 2 です。それらのランキングは、実際に必要なテキストチャンクよりもさらに高くなっています。これは明らかに RAG のパフォーマンスに影響します。

取得テストのリコール結果はランキングのみを保証します。類似度スコアの絶対値は参考用です。絶対値の差が小さい場合 (5% 以内)、リコール確率は同じと見なすことができます。

image

次に、電話名をメタデータとして設定します。これは、各ドキュメントのテキストチャンクに対応する電話名情報を追加することに相当します。「メタデータ抽出」の手順に従ってから、同じテストを実行して比較できます。

image

この時点で、ナレッジベースはベクトル検索の前に構造化検索のレイヤーを追加します。プロセスは次のとおりです:

  1. プロンプトからメタデータ {"key": "name", "value": "Bailian Phone X1"} を抽出します。

  2. 抽出されたメタデータに基づいて、「Bailian Phone X1」メタデータを含むすべてのテキストチャンクを検索します。

  3. 次に、ベクトル (セマンティック) 検索を実行して、最も関連性の高いテキストチャンクを見つけます。

メタデータを有効にした後の取得テストの実際のリコール効果を次の図に示します。ご覧のとおり、ナレッジベースは「Bailian Phone X1」に関連し、「機能概要」を含むテキストチャンクを正確に見つけることができるようになりました。

image

メタデータのもう 1 つの一般的なアプリケーションは、テキストチャンクに日付情報を埋め込んで、最近のコンテンツをフィルタリングすることです。メタデータの使用法の詳細については、「メタデータ抽出」をご参照ください。

2.3.4 類似度のしきい値の調整

ナレッジベースがユーザーのプロンプトに関連するテキストチャンクを見つけると、まずそれらを Rank モデルに送信して並べ替えます。これは、ナレッジベースを作成する際に カスタムパラメーター設定 で構成できます。次に、類似度のしきい値を使用して、並べ替えられたテキストチャンクをフィルタリングします。このしきい値を超える類似度スコアを持つテキストチャンクのみが、モデルに提供される可能性が高くなります。

image

このしきい値を下げると、より多くのテキストチャンクがリコールされる可能性がありますが、関連性の低いテキストチャンクもリコールされる可能性があります。このしきい値を上げると、リコールされるテキストチャンクの数が減少する可能性があります。

高すぎると、次の図に示すように、ナレッジベースが関連するすべてのテキストチャンクを破棄する可能性があります。これにより、モデルが回答を生成するのに十分なバックグラウンド情報を取得する能力が制限されます。

image

単一の最適な閾値はなく、あなたのシナリオに最も適したものだけが存在します。取得テストを通じてさまざまな類似度の閾値を試し、リコール結果を観察し、ニーズに最も適したソリューションを見つける必要があります。

取得テストの推奨手順

  1. 一般的な顧客の質問をカバーするテストケースを設計します。

  2. ナレッジベースの特定のアプリケーションシナリオと、以前にインポートされたドキュメントの品質に基づいて、適切な類似度のしきい値を選択します。

  3. 取得テストを実行して、ナレッジベースのリコール結果を表示します。

  4. リコール結果に基づいて、ナレッジベースの類似度のしきい値を再調整します。具体的な操作については、「ナレッジベースの作成と使用」をご参照ください。

image

2.3.5 リコールされたチャンクの数を増やす

リコールされるチャンクの数は、マルチチャネルリコール戦略における K 値です。類似度のしきい値フィルタリングの後、テキストチャンクの数が K を超える場合、システムは最も類似度スコアの高い K 個のテキストチャンクを選択してモデルに提供します。このため、不適切な K 値は RAG が正しいテキストチャンクを見逃す原因となり、モデルが完全な回答を生成する能力に影響を与えます。

たとえば、次のケースでは、ユーザーは次のプロンプトで取得します:

Bailian X1 電話の利点は何ですか?

次の図でわかるように、ターゲットナレッジベースには、ユーザーのプロンプトに関連し、返されるべき合計 7 つのテキストチャンクがあります。これらは左側に緑色でマークされています。しかし、この数が現在設定されているリコールされるチャンクの最大数 (K) を超えているため、利点 5 (超長時間待機) と利点 6 (鮮明な写真) を含むテキストチャンクは破棄され、モデルに提供されません。

RAG は完全な回答を提供するためにいくつのテキストチャンクが必要かを判断できないため、モデルは提供されたチャンクが不完全であっても、それに基づいて回答を生成します。

多くの実験により、リスト、要約、または比較を必要とするシナリオでは、上位 10 または上位 5 のみを提供するよりも、より多くの高品質なテキストチャンク (たとえば、K=20) をモデルに提供する方が効果的であることが示されています。これによりノイズが導入される可能性がありますが、テキストチャンクの品質が高い場合、モデルは通常、ノイズの影響を相殺できます。

アプリケーションを編集する際に、[リコールされるチャンクの数] を調整できます。

image

リコールされるチャンクの数が多ければ多いほど良いとは限らないことに注意してください。リコールされたテキストチャンクが組み立てられた後、その合計長がモデルの入力長制限を超えることがあります。これにより、一部のテキストチャンクが切り捨てられ、RAG のパフォーマンスに影響を与えます。

したがって、[インテリジェントアセンブリ] を選択することをお勧めします。この戦略は、モデルの最大入力長を超えずに、できるだけ多くの関連テキストチャンクをリコールします。

2.4 回答生成ステージ

このセクションでは、回答生成ステージで Model Studio が最適化をサポートする設定項目のみを紹介します。

この時点で、モデルはユーザーのプロンプトと、ナレッジベースから取得およびリコールされたコンテンツに基づいて最終的な回答を生成できます。ただし、返された結果がまだ期待どおりでない場合があります。

問題の種類

改善戦略

モデルがナレッジとユーザーのプロンプトの関係を理解していません。回答はテキストの不器用な組み合わせのように見えます。

ナレッジとユーザーのプロンプトの関係を効果的に理解するために、適切なモデルを選択することをお勧めします。

返された結果が指示に従っていないか、包括的ではありません。

プロンプトテンプレートを最適化することをお勧めします。

返された結果が十分に正確ではありません。モデル独自の一般知識が含まれており、完全にナレッジベースに基づいているわけではありません。

回答をナレッジベースから取得したナレッジのみに制限するために、拒否を有効にすることをお勧めします。

同様のプロンプトに対して、結果を一致させたい場合と変化させたい場合があります。

モデルのパラメーターを調整することをお勧めします。

2.4.1 適切なモデルの選択

モデルによって、命令の追従、言語サポート、長文、知識理解などの分野での能力が異なります。これにより、次のような状況が発生する可能性があります:

モデル A は、取得したナレッジとプロンプトの関係を効果的に理解できず、生成された回答がユーザーのプロンプトに正確に応答できません。より多くのパラメーターを持つか、より強力な専門能力を持つ モデル B に切り替えることで、この問題が解決する場合があります。

実際のニーズに基づいてアプリケーションを編集する際に、[モデルの選択] を行うことができます。

image

Model Studio でアプリケーションを編集する際に、特定の要件を満たすために [モデルの選択] を行うことができます。Qwen シリーズの Qwen-MaxQwen-Plus などの商用モデルやその他のモデルを選択することをお勧めします。これらの商用モデルは、オープンソース版に比べて最新の機能と改善を提供します。

  • 単純な情報クエリや要約には、Qwen-Turbo のように、パラメーター数が少ないモデルで十分です。

  • RAG により複雑な論理的推論を実行させたい場合は、Qwen-Max のように、パラメーター数が多く、推論能力が強いモデルを選択することをお勧めします。

  • 質問が多くのドキュメントチャンクを参照する必要がある場合は、Qwen-Plus のように、コンテキスト長が長いモデルを選択することをお勧めします。

  • 構築している RAG アプリケーションが法律分野などの非一般分野向けである場合は、Qwen-Legal のように、その特定のドメイン向けにトレーニングされたモデルを使用することをお勧めします。

2.4.2 プロンプトテンプレートの最適化

モデルは、与えられたテキストに基づいて次のトークンを予測します。これは、プロンプトを調整することで、取得したナレッジの使用方法など、モデルの動作に影響を与えることができることを意味します。これにより、間接的に RAG のパフォーマンスを向上させることができます。

以下は、3 つの一般的な最適化方法です:

メソッド 1: 出力内容を制約する

プロンプトテンプレートにコンテキスト情報、指示、および期待される出力形式を提供して、モデルに指示することができます。たとえば、次の出力指示を追加して、モデルに次のように要求できます:

提供された情報が質問に答えるのに十分でない場合は、「既存の情報に基づいて、この質問に答えることはできません」と明確に述べてください。回答を捏造しないでください。

これにより、モデルが幻覚を生成する可能性が低減します。

方法 2: 例を追加する

Few-Shot Prompting メソッドを使用して、モデルが模倣するための質問と回答の例をプロンプトに追加します。これにより、モデルが取得したナレッジを正しく使用するように誘導します。次の例では Qwen-Plus を使用しています。

プロンプトテンプレート

ユーザープロンプトとアプリケーションから返された結果

# Requirement
Please extract the technical specifications from the text below and display them in JSON format.
${documents}

image

# 要件
以下のテキストから技術仕様を抽出し、JSON 形式で表示してください。例で与えられたフィールドに厳密に従ってください。
${documents}

# 例
## 入力: Stardust S9 Pro、画期的な 6.9 インチ 1440 x 3088 ピクセルのアンダースクリーンカメラデザインは、無限の視覚体験をもたらします。512 GB のストレージと 16 GB の RAM のトップ構成は、6000 mAh のバッテリーと 100 W の高速充電技術と組み合わさり、パフォーマンスとバッテリー寿命を両立させ、技術トレンドをリードします。参考価格: 5999 - 6499。
## 出力: { "product":"Stardust S9 Pro", "screen_size":"6.9inch", "ram_size": "16GB", "battery":"6000mAh" }

image

メソッド 3: コンテンツ デリミタを追加する

取得したテキストチャンクがプロンプトテンプレートにランダムに混在している場合、モデルがプロンプト全体の構造を理解するのは困難です。したがって、プロンプトと ${documents} 変数を明確に分離することをお勧めします。

さらに、最良の効果を確保するために、${documents} 変数がプロンプトテンプレートに 1 回だけ 表示されるようにしてください。詳細については、次の表の左側の正しい例をご参照ください。

正しい例

正しくない例

# 役割
あなたは顧客サービス担当者であり、ユーザーの問題を分析して解決し、ナレッジベースを取得して正確なソリューションを提供することに重点を置いています。

# 要件
**結果を直接返す**: ユーザーのプロンプトとナレッジベースの内容に基づいて、推論なしで直接結果を提供してください。
**返される結果に特定の連絡先情報を含めない**: 返される結果には、ユーザーのプロンプトの要約、関連する当直担当者の名前、およびその責任のみを含める必要があります。
**デフォルトの連絡先**: 関連する当直担当者が見つからない場合は、「本日の当直担当者: Model Studio カスタマーサービス 01」を返してください。

# ナレッジベース
以下の資料を覚えておいてください。質問に答えるのに役立つ場合があります。
${documents}
# 役割
あなたは顧客サービス担当者であり、ユーザーの問題を分析して解決し、ナレッジベースを取得して正確なソリューションを提供することに重点を置いています。
回答を支援するために ${documents} の情報を使用してください。

# 要件
**結果を直接返す**: ユーザーのプロンプトとナレッジベースの内容に基づいて、推論なしで直接結果を提供してください。
**返される結果に特定の連絡先情報を含めない**: 返される結果には、ユーザーのプロンプトの要約、関連する当直担当者の名前、およびその責任のみを含める必要があります。
**デフォルトの連絡先**: 関連する当直担当者が見つからない場合は、「本日の当直担当者: Model Studio カスタマーサービス 01」を返してください。

# ナレッジベース
以下の資料を覚えておいてください。質問に答えるのに役立つ場合があります。
${documents}

プロンプトの最適化方法の詳細については、「プロンプトエンジニアリング」をご参照ください。

2.4.3 拒否の有効化

アプリケーションから返される結果を、ナレッジベースから取得したナレッジに厳密に基づかせ、モデル独自の一般知識の影響を排除したい場合は、アプリケーションを編集する際に回答範囲を ナレッジベースのみ に設定できます。

ナレッジベースに関連するナレッジが見つからない場合は、固定の自動返信を設定することもできます。

回答範囲: ナレッジベース + モデルナレッジ

回答範囲: [ナレッジベースのみ]

image

image

アプリケーションから返される結果は、ナレッジベースから取得したナレッジとモデル独自の一般知識の組み合わせになります。

アプリケーションから返される結果は、ナレッジベースから取得したナレッジに厳密に基づきます。

ナレッジの範囲を決定するために、[検索しきい値 + LLM 判断] メソッドを選択することをお勧めします。この戦略は、まず類似度のしきい値を使用して潜在的なテキストチャンクをフィルタリングします。次に、モデルが審判として機能し、設定した [判断プロンプト] を使用して関連性の詳細な分析を行います。これにより、判断の精度がさらに向上します。

image

以下は、参考のための判断プロンプトの例です。この例では、ナレッジベースに関連するナレッジが見つからない場合、固定の返信が設定されます: 申し訳ありませんが、関連する電話モデルが見つかりませんでした。

# 判断ルール:
- 質問とドキュメントの一致の前提は、質問に関与するエンティティがドキュメントで説明されているエンティティと完全に同じであることです。
- 質問はドキュメントでまったく言及されていません。

ユーザープロンプトとアプリケーションから返された結果 (ナレッジがヒットした場合)

ユーザープロンプトとアプリケーションから返された結果 (ナレッジがヒットしなかった場合)

image

image

2.4.4 モデルパラメーターの調整

同様のプロンプトに対して、毎回結果を一致させたい場合や変化させたい場合は、アプリケーションを編集する際に [パラメーター] を変更してモデルのパラメーターを調整できます。

image

前の図の temperature パラメーターは、モデルによって生成されるコンテンツのランダム性を制御します。temperature が高いほど、生成されるテキストは多様になります。逆に、生成されるテキストはより決定論的になります。

  • 多様なテキストは、創造的な執筆 (小説、広告コピーなど)、ブレインストーミング、チャットアプリケーションなどのシナリオに適しています。

  • 決定論的なテキストは、明確な回答があるシナリオ (問題分析、多肢選択問題、事実調査など) や、正確な表現が要求されるシナリオ (技術文書、法律文書、ニュースレポート、学術論文など) に適しています。

他の 2 つのパラメーターは次のとおりです:

最大応答長: このパラメーターは、モデルが生成するトークンの最大数を制御します。この値を増やすと詳細な説明が生成され、減らすと短い回答が生成されます。

コンテキストターンの数: このパラメーターは、モデルが参照する過去の会話ターンの数を制御します。1 に設定すると、モデルは回答時に過去の会話情報を参照しません。

3. よくある質問

RAG に役立つようにドキュメントをフォーマットするにはどうすればよいですか?

ドキュメントのコンテンツレイアウトに関する推奨事項

  • ドキュメントのすべてのレベルの見出しは明確で、各見出しの下のコンテンツは明確に表現されています。

  • ドキュメントにウォーターマークを入れないようにしてください。

  • リストの途中の項目の下にさらにレベルを設けないようにしてください。

  • ドキュメントに表や画像を入れないようにしてください。複雑な表は、ドキュメント全体の解析結果に影響します。

ドキュメントの見出しレベルが十分に明確でない - 例

元のドキュメント

第 1 レベルの見出しは「IV. 賞品の使用規則:」で、コンテンツには「賞品 1:...」と「賞品 2:...」が含まれています。

image.png

処理後に発生する問題

「賞品 2:...」は「賞品 1:...」のサブ見出しとして解析されます。 ドキュメント内で「賞品 1:...」と「賞品 2:...」を番号付きの第 2 レベルの見出しとして設定することをお勧めします。

ドキュメントにウォーターマークがある - 例

元のドキュメント

ドキュメントにはウォーターマークがあり、合計 3 つの項目があります。

image.png

処理後に発生する問題

3 番目の項目は別のチャンクに分割されます。ただし、ウォーターマークがテキストとして認識されるため、項目の順序が乱れる可能性があります。

リストの途中の項目の下にさらにレベルがある - 例

元のドキュメント

第 1 レベルの見出し「アクティビティルール」の下には順序付きリストがあり、その中の 3 番目の項目「アクティビティの紹介」は別のリストです (a と b に分かれています)。

image.png

処理後に発生する問題

第 1 レベルの見出し「アクティビティルール」の下の順序付きリストには、3 番目の項目「アクティビティの紹介」が含まれており、これは別のリストです。これにより、「アクティビティの紹介」が第 2 レベルの見出しとして扱われ、後続のすべてのコンテンツが誤ってこの新しい見出しの下のコンテンツとして扱われます。 リストをネストしないことをお勧めします。どうしても必要な場合は、ネストされたリストを親リストの最後に配置するようにしてください。

良い例

  • 各見出しの下のコンテンツは比較的独立しており、明確です。

  • ウォーターマークなし。

  • 見出しの下にはリストがありますが、リストの下にさらにレベルはありません。

  • 表や画像なし。