次の方法で共有


ステップ 5 (生成)。 生成品質をデバッグする方法

このページでは、生成の問題の根本原因を特定する方法について説明します。 このページは、根本原因の分析が根本原因 Improve Generation を示している場合に使用します。

最適な取得によって最適なコンテキストを取得できたとしても、RAG チェーンの LLM コンポーネントがそれを効果的に利用して、正確で一貫性のある、かつ適切な応答を生成できなければ、最終的な出力品質は低下します。 生成品質に関する問題は、たとえば、誤認識、不整合、ユーザーのクエリに簡潔に対処できない、といった形で現れます。

手順

生成品質に関する問題に対処するには、次の手順に従います。

  1. B_quality_iteration/01_root_cause_quality_issues ノートブックを開きます。
  2. クエリを使用して、生成品質の問題が発生したレコードの MLflow トレースを読み込みます。
  3. 各レコードについて、生成された応答を手作業で確認し、それを、取得されたコンテキストおよびグラウンドトゥルース応答と比較します。
  4. 生成品質が低いクエリのパターンまたは一般的な問題を探します。 例:
    • 取得されたコンテキストに存在しない情報が生成される。
    • 取得されたコンテキストと一致しない情報が生成される (誤認識)。
    • 提供された取得されたコンテキストを使用して、ユーザーのクエリに直接対処できない。
    • 過度に詳細で、理解しにくい、または論理的一貫性がない応答が生成される。
  5. 特定された問題に基づいて、潜在的な根本原因と、それに対応する修正の仮説を立てます。 ガイダンスについては、「生成品質低下の一般的な理由」を参照してください。
  6. 変更を実装して評価する手順に従って、考えられる修正を実装し、評価します。 たとえば、RAG チェーンの変更 (例: プロンプト テンプレートを調整する、別の LLM を試す)、データ パイプラインの変更 (例: より多くのコンテキストを提供するためにチャンク戦略の調整する) などを行うことができます。
  7. それでも生成品質に満足できない場合は、目的のパフォーマンスが達成されるまで手順 4 と 5 を繰り返して、次に有望な修正を見つけます。
  8. 根本原因の分析を再実行して、チェーン全体に対処の必要がある根本原因が他にあるかどうかを判断します。

生成品質低下の一般的な理由

次の表は、デバッグ手順と、一般的な生成の問題に対する考えられる修正の一覧です。 修正はコンポーネント別に分類されています。

  • チェーン構成
  • チェーン コード

コンポーネントによって、変更を実装して評価する手順のどのステップに従う必要があるかが定義されています。

重要

Databricks では、プロンプト エンジニアリングを使用して、アプリの出力の品質向上を繰り返すことをお勧めします。 次のステップのほとんどで、プロンプト エンジニアリングが使用されています。

生成の問題 デバッグ手順 考えられる解決策
生成された情報が、取得されたコンテキストに存在しない (誤認識など)。 - 生成された応答を取得されたコンテキストと比較し、誤認識された情報を特定します。
- 特定の種類のクエリまたは取得されたコンテキストが、誤認識を起こしやすいかどうかを評価します。
- チェーン構成 取得されたコンテキストへの依存を強調するためにプロンプト テンプレートを更新します。
- チェーン構成より高性能な LLM を使用します。
- チェーン コード 生成後のファクト チェックや検証手順を実装します。
ユーザーのクエリに直接対処できない。または一般的すぎる応答を提供する - 生成された応答をユーザー クエリと比較し、関連性と特異度を評価します。
- 特定の種類のクエリによって正しいコンテキストが取得されるが、LLM が低品質の出力を生成するかどうかをチェックします。
- チェーン構成 ダイレクトで具体的な応答を促すためにプロンプト テンプレートを改善します。
- チェーン構成 取得プロセスを改善して、よりターゲットを絞ったコンテキストを取得します。
- チェーン コード 取得結果を再ランク付けして、最も関連性の高いチャンクを先頭に配置し、これらのチャンクだけを LLM に提供します。
- チェーン構成より高性能な LLM を使用します。
生成された応答がわかりにくい。または論理的なフローが欠如している - 出力の論理フロー、文法の正確性、解釈の容易性を評価します。
- 特定の種類のクエリやコンテキストが取得されたときに、一貫性の欠如がより頻繁に発生するかどうかを分析します。
- チェーン構成 プロンプト テンプレートを変更して、適切に構造化された一貫性のある応答を促します。
- チェーン構成 関連する追加のチャンクを取得して、LLM により多くのコンテキストを提供します。
- チェーン構成より高性能な LLM を使用します。
生成された応答が目的の形式またはスタイルではない - 出力を予想される形式とスタイルのガイドラインと比較します。
- 特定の種類のクエリまたは取得されたコンテキストによって、形式やスタイルの逸脱が発生する可能性が高いかどうかを評価します。
- チェーン構成 プロンプト テンプレートを更新して、必要な出力形式とスタイルを指定します。
- チェーン コード 生成された応答を必要な形式に変換するための後処理ステップを実装します。
- チェーン コード 出力構造とスタイルを検証するステップを追加し、必要に応じてフォールバック回答を出力します。
- チェーン構成 特定の形式やスタイルで出力を提供するために微調整された LLM を使用します。

次のステップ

取得品質にも問題があることがわかった場合は、ステップ 5 (取得): 取得品質をデバッグする方法に関するページに進みます。

特定されたすべての問題を解決したと思われる場合は、 Step 6 に進んでください。AI エージェントで品質修正を行い、評価します

< 前へ: 手順 5.1.デバッグ取得の品質

次へ: 手順 6.品質の問題を繰り返し修正する >