メインコンテンツまでスキップ

RAGASの得点者

RAGAS (Retrieval Augmented Generation Assessment)は、LLMアプリケーションのための評価フレームワークです。MLflow RAGASと統合されているため、RAGASメトリクスをスコアラーとして使用して、検索品質、回答生成、エージェントの動作、テキスト類似性を評価することができます。

要件

ragasパッケージをインストールしてください。

Python
%pip install ragas

クイックスタート

RAGASスコアラーに直接電話するには:

Python
from mlflow.genai.scorers.ragas import Faithfulness

scorer = Faithfulness(model="databricks:/databricks-gpt-5-mini")
feedback = scorer(trace=trace)

print(feedback.value) # Score between 0.0 and 1.0
print(feedback.rationale) # Explanation of the score

mlflow.genai.evaluate()を使用してRAGASスコアラーを呼び出すには:

Python
import mlflow
from mlflow.genai.scorers.ragas import Faithfulness, ContextPrecision

traces = mlflow.search_traces()
results = mlflow.genai.evaluate(
data=traces,
scorers=[
Faithfulness(model="databricks:/databricks-gpt-5-mini"),
ContextPrecision(model="databricks:/databricks-gpt-5-mini"),
],
)

利用可能なRAGASスコアラー

RAGメトリクス

これらのスコアラーは、検索拡張型生成(RAG)アプリケーションにおける検索品質と回答生成を評価します。

スコアラー

それは何を評価するのですか?

RAGASドキュメント

ContextPrecision

関連性の高い検索結果文書は、関連性の低い検索結果文書よりも上位にランク付けされますか?

リンク

ContextUtilization

取得したコンテキストは、回答の中でどの程度効果的に活用されていますか?

リンク

NonLLMContextPrecisionWithReference

参照解答を用いた、LLMを用いない文脈精度評価。

リンク

ContextRecall

検索コンテキストには、クエリに回答するために必要なすべての情報が含まれていますか?

リンク

NonLLMContextRecall

参照解答を用いた、LLM(論理的言語モデル)を用いない文脈想起法。

リンク

ContextEntityRecall

期待される回答に含まれるエンティティは、取得されたコンテキスト内に存在しますか?

リンク

NoiseSensitivity

このモデルは、文脈上の無関係な情報に対してどの程度敏感ですか?

リンク

AnswerRelevancy

生成された回答は、入力されたクエリに対してどの程度関連性がありますか?

リンク

Faithfulness

出力結果は、検索コンテキストと事実的に整合していますか?

リンク

AnswerAccuracy

その回答は、実際の結果と比べてどの程度正確ですか?

リンク

ContextRelevance

取得したコンテキストは、入力クエリに対してどの程度関連性がありますか?

リンク

ResponseGroundedness

その回答は、提示された文脈に基づいていますか?

リンク

エージェントとツールはメトリクスを使用

これらのスコアラーは、ツールの呼び出し精度や目標達成度など、AIエージェントの動作を評価します。

スコアラー

それは何を評価するのですか?

RAGASドキュメント

TopicAdherence

エージェントは会話中に話題から逸れないか?

リンク

ToolCallAccuracy

適切なツールが適切な問題で呼び出されていますか?

リンク

ToolCallF1

ツール呼び出し予測のF1スコア。

リンク

AgentGoalAccuracyWithReference

エージェントは目標を達成するのか?参考解答と比較した。

リンク

AgentGoalAccuracyWithoutReference

エージェントは目標を達成するのか?参照解答なしで評価しました。

リンク

自然言語比較

これらのスコアラーは、意味論的手法と決定論的手法の両方を用いて、生成されたテキストを期待される出力と比較します。

スコアラー

それは何を評価するのですか?

RAGASドキュメント

FactualCorrectness

出力結果は、期待される回答と比較して事実として正しいですか?

リンク

SemanticSimilarity

出力と期待される回答との間の意味的な類似性。

リンク

NonLLMStringSimilarity

出力と期待される回答との間の文字列の類似性。

リンク

BleuScore

テキスト比較のためのBLEUスコア。

リンク

ChrfScore

テキスト比較のためのCHRFスコア。

リンク

RougeScore

ROUGEスコアはテキスト比較のための指標です。

リンク

StringPresence

出力に特定の文字列が含まれていますか?

リンク

ExactMatch

出力は期待される出力と完全に一致していますか?

リンク

汎用

これらの採点システムは、柔軟でカスタマイズ可能な評価ロジックを提供します。

スコアラー

それは何を評価するのですか?

RAGASドキュメント

AspectCritic

LLMを用いて、出力の特定の側面を評価する。

リンク

DiscreteMetric

柔軟なスコアリング ロジックを備えたカスタム離散メトリクス。

リンク

RubricsScore

事前に定義された評価基準に基づいてスコアが出力されます。

リンク

InstanceSpecificRubrics

採点は、個々の事例に応じた評価基準に基づいて算出されます。

リンク

その他のタスク

スコアラー

それは何を評価するのですか?

RAGASドキュメント

SummarizationScore

テキスト要約の質。

リンク

名前でスコアラーを作成する

メトリクス名を文字列として渡すことで、 get_scorerを使用してスコアラーを動的に作成できます。

Python
from mlflow.genai.scorers.ragas import get_scorer

scorer = get_scorer(
metric_name="Faithfulness",
model="databricks:/databricks-gpt-5-mini",
)
feedback = scorer(trace=trace)

構成

RAGAS スコアラーは、コンストラクターへのキーワード引数としてメトリクス固有の論点を受け入れます。 LLMベースのメトリクスには、 modelが必要です。 非LLMメトリクスにはモデルは必要ありません。

Python
from mlflow.genai.scorers.ragas import Faithfulness, ExactMatch

# LLM-based metric with model specification
scorer = Faithfulness(model="databricks:/databricks-gpt-5-mini")

# Non-LLM metric (no model required)
deterministic_scorer = ExactMatch()

メトリクス固有の使用オプションと高度な使用オプションについては、 RAGAS のドキュメントを参照してください。