ステップ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 では、プロンプト エンジニアリングを使用してアプリの出力の品質を反復することをお勧めします。 以下のステップのほとんどは prompt エンジニアリングを使用します。

生成の問題

消える

修正可能な方法

生成された情報は、取得されたコンテキスト(幻覚など)には存在しません。

  • 生成された応答を取得したコンテキストと比較して、幻覚情報を識別します。

  • 特定の種類のクエリまたは取得されたコンテキストが幻覚を起こしやすいかどうかを評価します。

  • チェーン設定タグ プロンプト テンプレートを更新して、取得したコンテキストへの依存を強調します。
  • チェーン設定タグより高性能な LLM を使用してください。
  • チェーンコードタグ生成後にファクトチェックまたは検証ステップを実装します。

ユーザーの問い合わせに直接対応できない、または過度に一般的な応答を提供しない

  • 生成された応答をユーザークエリと比較して、関連性と特異性を評価します。

  • 特定の種類のクエリによって正しいコンテキストが取得されるが、LLM が低品質の出力を生成するかどうかを確認します。

  • チェーン設定タグ プロンプトテンプレートを改善して、直接的で具体的な回答を促します。
  • チェーン設定タグ 検索プロセスを改善することで、よりターゲットを絞ったコンテキストを取得します。
  • チェーンコードタグ検索結果を再ランク付けして、最も関連性の高いチャンクを先頭に配置し、これらだけを LLM に提供します。
  • チェーン設定タグより高性能な LLM を使用してください。

生成された応答が理解しにくい、または論理的な流れに欠けている

  • 論理的な流れ、文法的な正確さ、および理解可能性について出力を評価します。

  • 特定の種類のクエリで一貫性のなさが頻繁に発生するかどうか、または特定の種類のコンテキストが取得されるときに発生するかどうかを分析します。

  • チェーン設定タグ プロンプトテンプレートを変更して、首尾一貫した、適切に構造化された応答を促します。
  • チェーン設定タグ追加の関連チャンクを取得して、LLM にさらに多くのコンテキストを提供します。
  • チェーン設定タグより高性能な LLM を使用してください。

生成された回答が目的の形式またはスタイルではない

  • 出力を想定される形式とスタイルのガイドラインと比較します。

  • 特定の種類のクエリまたは取得されたコンテキストが、形式またはスタイルの逸脱につながる可能性が高いかどうかを評価します。

  • チェーン設定タグ プロンプトテンプレートを更新して、目的の出力形式とスタイルを指定します。
  • チェーンコードタグ生成された応答を目的の形式に変換するための後処理ステップを実装します。
  • チェーンコードタグ出力構造とスタイルを検証し、必要に応じてフォールバック回答を出力するステップを追加します。
  • チェーン設定タグ特定の形式またはスタイルで出力を提供するように微調整された LLM を使用します。

次のステップ

検索品質の問題も特定した場合は、ステップ 5 (検索) に進みます。検索品質をデバッグする方法

特定された問題がすべて解決されたと思われる場合は、手順 6 に進みます。品質修正を繰り返し実装して評価します