RAGASの得点者
RAGAS (Retrieval Augmented Generation Assessment)は、LLMアプリケーションのための評価フレームワークです。MLflow RAGASと統合されているため、RAGASメトリクスをスコアラーとして使用して、検索品質、回答生成、エージェントの動作、テキスト類似性を評価することができます。
要件
ragasパッケージをインストールしてください。
%pip install ragas
クイックスタート
RAGASスコアラーに直接電話するには:
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スコアラーを呼び出すには:
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ドキュメント |
|---|---|---|
関連性の高い検索結果文書は、関連性の低い検索結果文書よりも上位にランク付けされますか? | ||
取得したコンテキストは、回答の中でどの程度効果的に活用されていますか? | ||
参照解答を用いた、LLMを用いない文脈精度評価。 | ||
検索コンテキストには、クエリに回答するために必要なすべての情報が含まれていますか? | ||
参照解答を用いた、LLM(論理的言語モデル)を用いない文脈想起法。 | ||
期待される回答に含まれるエンティティは、取得されたコンテキスト内に存在しますか? | ||
このモデルは、文脈上の無関係な情報に対してどの程度敏感ですか? | ||
生成された回答は、入力されたクエリに対してどの程度関連性がありますか? | ||
出力結果は、検索コンテキストと事実的に整合していますか? | ||
その回答は、実際の結果と比べてどの程度正確ですか? | ||
取得したコンテキストは、入力クエリに対してどの程度関連性がありますか? | ||
その回答は、提示された文脈に基づいていますか? |
エージェントとツールはメトリクスを使用
これらのスコアラーは、ツールの呼び出し精度や目標達成度など、AIエージェントの動作を評価します。
スコアラー | それは何を評価するのですか? | RAGASドキュメント |
|---|---|---|
エージェントは会話中に話題から逸れないか? | ||
適切なツールが適切な問題で呼び出されていますか? | ||
ツール呼び出し予測のF1スコア。 | ||
エージェントは目標を達成するのか?参考解答と比較した。 | ||
エージェントは目標を達成するのか?参照解答なしで評価しました。 |
自然言語比較
これらのスコアラーは、意味論的手法と決定論的手法の両方を用いて、生成されたテキストを期待される出力と比較します。
スコアラー | それは何を評価するのですか? | RAGASドキュメント |
|---|---|---|
出力結果は、期待される回答と比較して事実として正しいですか? | ||
出力と期待される回答との間の意味的な類似性。 | ||
出力と期待される回答との間の文字列の類似性。 | ||
テキスト比較のためのBLEUスコア。 | ||
テキスト比較のためのCHRFスコア。 | ||
ROUGEスコアはテキスト比較のための指標です。 | ||
出力に特定の文字列が含まれていますか? | ||
出力は期待される出力と完全に一致していますか? |
汎用
これらの採点システムは、柔軟でカスタマイズ可能な評価ロジックを提供します。
スコアラー | それは何を評価するのですか? | RAGASドキュメント |
|---|---|---|
LLMを用いて、出力の特定の側面を評価する。 | ||
柔軟なスコアリング ロジックを備えたカスタム離散メトリクス。 | ||
事前に定義された評価基準に基づいてスコアが出力されます。 | ||
採点は、個々の事例に応じた評価基準に基づいて算出されます。 |
その他のタスク
スコアラー | それは何を評価するのですか? | RAGASドキュメント |
|---|---|---|
テキスト要約の質。 |
名前でスコアラーを作成する
メトリクス名を文字列として渡すことで、 get_scorerを使用してスコアラーを動的に作成できます。
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メトリクスにはモデルは必要ありません。
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 のドキュメントを参照してください。