Aller au contenu principal

RAGAS évaluateurs

RAGAS (évaluation de la génération augmentée de récupération) est un cadre d'évaluation pour les applications LLM. MLflow s’intègre à RAGAS afin que vous puissiez utiliser les métriques RAGAS comme évaluateurs pour l’évaluation de la qualité de la récupération, la génération de réponses, le comportement des agents et la similarité des textes.

Exigences

Installez le package ragas :

Python
%pip install ragas

Quick start

Pour appeler un évaluateur RAGAS directement :

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

Pour appeler les évaluateurs RAGAS à l'aide de mlflow.genai.evaluate():

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"),
],
)

Évaluateurs RAGAS disponibles

Métriques RAG

Ces évaluateurs mesurent la qualité de la récupération et la génération de réponses dans les applications de génération augmentée de récupération (RAG).

Évaluateur

Qu'est-ce que cela évalue ?

Documentation RAGAS

ContextPrecision

Les documents pertinents récupérés sont-ils classés plus haut que les documents non pertinents ?

Associer

ContextUtilization

Quelle est l'efficacité de l'utilisation du contexte récupéré dans la réponse ?

Associer

NonLLMContextPrecisionWithReference

Version non-LLM de la précision du contexte utilisant des réponses de référence.

Associer

ContextRecall

Le contexte de récupération contient-il toutes les informations nécessaires pour répondre à la query ?

Associer

NonLLMContextRecall

Variante non-LLM du rappel de contexte utilisant des réponses de référence.

Associer

ContextEntityRecall

Les entités de la réponse attendue sont-elles présentes dans le contexte récupéré ?

Associer

NoiseSensitivity

Dans quelle mesure le modèle est-il sensible aux informations non pertinentes dans le contexte ?

Associer

AnswerRelevancy

Dans quelle mesure la réponse générée est-elle pertinente par rapport à la query d'entrée ?

Associer

Faithfulness

La sortie est-elle factuellement conforme au contexte de récupération ?

Associer

AnswerAccuracy

Quelle est la précision de la réponse par rapport à la vérité terrain ?

Associer

ContextRelevance

Dans quelle mesure le contexte récupéré est-il pertinent par rapport à la requête d'entrée ?

Associer

ResponseGroundedness

La réponse est-elle basée sur le contexte fourni ?

Associer

Évaluateur

Qu'est-ce que cela évalue ?

Documentation RAGAS

ContextPrecision

Les documents pertinents récupérés sont-ils classés plus haut que les documents non pertinents ?

Associer

ContextUtilization

Quelle est l'efficacité de l'utilisation du contexte récupéré dans la réponse ?

Associer

NonLLMContextPrecisionWithReference

Version non-LLM de la précision du contexte utilisant des réponses de référence.

Associer

ContextRecall

Le contexte de récupération contient-il toutes les informations nécessaires pour répondre à la query ?

Associer

NonLLMContextRecall

Variante non-LLM du rappel de contexte utilisant des réponses de référence.

Associer

ContextEntityRecall

Les entités de la réponse attendue sont-elles présentes dans le contexte récupéré ?

Associer

NoiseSensitivity

Dans quelle mesure le modèle est-il sensible aux informations non pertinentes dans le contexte ?

Associer

AnswerRelevancy

Dans quelle mesure la réponse générée est-elle pertinente par rapport à la query d'entrée ?

Associer

Faithfulness

La sortie est-elle factuellement conforme au contexte de récupération ?

Associer

AnswerAccuracy

Quelle est la précision de la réponse par rapport à la vérité terrain ?

Associer

ContextRelevance

Dans quelle mesure le contexte récupéré est-il pertinent par rapport à la requête d'entrée ?

Associer

ResponseGroundedness

La réponse est-elle basée sur le contexte fourni ?

Associer

Métriques d'utilisation de l'agent et des outils

Ces évaluateurs évaluent le comportement des agents IA, y compris la précision de l'invocation des outils et la réalisation des objectifs.

Évaluateur

Qu'est-ce que cela évalue ?

Documentation RAGAS

TopicAdherence

L'agent reste-t-il pertinent pendant la conversation ?

Associer

ToolCallAccuracy

Les bons outils sont-ils appelés avec les paramètres appropriés ?

Associer

ToolCallF1

Score F1 pour la prédiction des appels d'outil.

Associer

AgentGoalAccuracyWithReference

L'agent atteint-il son objectif ? Comparé à une réponse de référence.

Associer

AgentGoalAccuracyWithoutReference

L'agent atteint-il son objectif ? Évalué sans réponse de référence.

Associer

Évaluateur

Qu'est-ce que cela évalue ?

Documentation RAGAS

TopicAdherence

L'agent reste-t-il pertinent pendant la conversation ?

Associer

ToolCallAccuracy

Les bons outils sont-ils appelés avec les paramètres appropriés ?

Associer

ToolCallF1

Score F1 pour la prédiction des appels d'outil.

Associer

AgentGoalAccuracyWithReference

L'agent atteint-il son objectif ? Comparé à une réponse de référence.

Associer

AgentGoalAccuracyWithoutReference

L'agent atteint-il son objectif ? Évalué sans réponse de référence.

Associer

Comparaison de langage naturel

Ces évaluateurs comparent le texte généré à la sortie attendue à l'aide de méthodes sémantiques et déterministes.

Évaluateur

Qu'est-ce que cela évalue ?

Documentation RAGAS

FactualCorrectness

La sortie est-elle factuellement correcte par rapport à la réponse attendue ?

Associer

SemanticSimilarity

Similitude sémantique entre la sortie et la réponse attendue.

Associer

NonLLMStringSimilarity

Similitude de chaînes entre la sortie et la réponse attendue.

Associer

BleuScore

Score BLEU pour la comparaison de texte.

Associer

ChrfScore

Score CHRF pour la comparaison de texte.

Associer

RougeScore

ROUGE score pour la comparaison de texte.

Associer

StringPresence

Une chaîne spécifique est-elle présente dans la sortie ?

Associer

ExactMatch

La sortie correspond-elle exactement à la sortie attendue ?

Associer

Évaluateur

Qu'est-ce que cela évalue ?

Documentation RAGAS

FactualCorrectness

La sortie est-elle factuellement correcte par rapport à la réponse attendue ?

Associer

SemanticSimilarity

Similitude sémantique entre la sortie et la réponse attendue.

Associer

NonLLMStringSimilarity

Similitude de chaînes entre la sortie et la réponse attendue.

Associer

BleuScore

Score BLEU pour la comparaison de texte.

Associer

ChrfScore

Score CHRF pour la comparaison de texte.

Associer

RougeScore

ROUGE score pour la comparaison de texte.

Associer

StringPresence

Une chaîne spécifique est-elle présente dans la sortie ?

Associer

ExactMatch

La sortie correspond-elle exactement à la sortie attendue ?

Associer

Usage général

Ces évaluateurs fournissent une logique d'évaluation flexible et personnalisable.

Évaluateur

Qu'est-ce que cela évalue ?

Documentation RAGAS

AspectCritic

Évalue les aspects spécifiques de la sortie à l'aide d'un LLM.

Associer

DiscreteMetric

Métrique discrète personnalisée avec une logique de scoring flexible.

Associer

RubricsScore

Évalue les sorties selon des rubriques prédéfinies.

Associer

InstanceSpecificRubrics

Évalue les sorties selon des critères propres à chaque instance.

Associer

Évaluateur

Qu'est-ce que cela évalue ?

Documentation RAGAS

AspectCritic

Évalue les aspects spécifiques de la sortie à l'aide d'un LLM.

Associer

DiscreteMetric

Métrique discrète personnalisée avec une logique de scoring flexible.

Associer

RubricsScore

Évalue les sorties selon des rubriques prédéfinies.

Associer

InstanceSpecificRubrics

Évalue les sorties selon des critères propres à chaque instance.

Associer

Autres tâches

Évaluateur

Qu'est-ce que cela évalue ?

Documentation RAGAS

SummarizationScore

Qualité de la synthétisation de texte.

Associer

Évaluateur

Qu'est-ce que cela évalue ?

Documentation RAGAS

SummarizationScore

Qualité de la synthétisation de texte.

Associer

Créez un évaluateur par nom

Vous pouvez créer dynamiquement un évaluateur à l'aide de get_scorer en passant le nom de la métrique sous forme de chaîne :

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)

Configuration

Les évaluateurs RAGAS acceptent les parameters spécifiques aux métriques comme arguments de mots-clés du constructeur. Les métriques basées sur un LLM nécessitent un paramètre model. Les mesures non-LLM ne nécessitent pas de modèle.

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()

Pour les parameters spécifiques aux métriques et les options d'utilisation avancées, consultez la documentation RAGAS.