Aller au contenu principal

Scorers TruLens

TruLens est un cadre d'évaluation et d'observabilité pour les applications LLM qui fournit des fonctions de rétroaction pour les systèmes RAG et l'analyse des traces d'agent. MLflow s'intègre à TruLens afin que vous puissiez utiliser les fonctions de rétroaction de TruLens comme des évaluateurs, y compris des évaluations d'alignement objectif-plan-action étalonnées pour les traces d'agent.

Exigences

Installez les packages trulens et trulens-providers-litellm :

Python
%pip install trulens trulens-providers-litellm

Quick start

Pour appeler un évaluateur TruLens directement :

Python
from mlflow.genai.scorers.trulens import Groundedness

scorer = Groundedness(model="openai:/gpt-5-mini")
feedback = scorer(
inputs="What is MLflow?",
outputs="MLflow is an open-source AI engineering platform for agents and LLMs.",
expectations={
"context": "MLflow is an ML platform for experiment tracking and model deployment."
},
)

print(feedback.value) # "yes" or "no"
print(feedback.metadata["score"]) # 0.85

Pour appeler les scorers TruLens à l’aide de mlflow.genai.evaluate():

Python
import mlflow
from mlflow.genai.scorers.trulens import Groundedness, AnswerRelevance

eval_dataset = [
{
"inputs": {"query": "What is MLflow?"},
"outputs": "MLflow is an open-source AI engineering platform for agents and LLMs.",
"expectations": {
"context": "MLflow is an ML platform for experiment tracking and model deployment."
},
},
{
"inputs": {"query": "How do I track experiments?"},
"outputs": "You can use mlflow.start_run() to begin tracking experiments.",
"expectations": {
"context": "MLflow provides APIs like mlflow.start_run() for experiment tracking."
},
},
]

results = mlflow.genai.evaluate(
data=eval_dataset,
scorers=[
Groundedness(model="openai:/gpt-5-mini"),
AnswerRelevance(model="openai:/gpt-5-mini"),
],
)

Évaluateurs TruLens 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 TruLens

Groundedness

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

Associer

ContextRelevance

Le contexte récupéré est-il pertinent par rapport à la query d'entrée ?

Associer

AnswerRelevance

La sortie est-elle pertinente par rapport à la query d'entrée ?

Associer

Coherence

La sortie est-elle cohérente et logiquement homogène ?

Associer

Évaluateur

Qu'est-ce que cela évalue ?

Documentation TruLens

Groundedness

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

Associer

ContextRelevance

Le contexte récupéré est-il pertinent par rapport à la query d'entrée ?

Associer

AnswerRelevance

La sortie est-elle pertinente par rapport à la query d'entrée ?

Associer

Coherence

La sortie est-elle cohérente et logiquement homogène ?

Associer

Métriques de trace de l'agent

Ces évaluateurs évaluent les traces d'exécution des agents en utilisant l'alignement objectif-plan-action.

Évaluateur

Qu'est-ce que cela évalue ?

Documentation TruLens

LogicalConsistency

Le raisonnement de l'agent est-il logiquement cohérent tout au long de l'exécution ?

Associer

ExecutionEfficiency

L'agent prend-il un chemin optimal sans étapes inutiles ?

Associer

PlanAdherence

L'agent suit-il son plan déclaré pendant l'exécution ?

Associer

PlanQuality

Le plan de l'agent est-il bien structuré et approprié à l'objectif ?

Associer

ToolSelection

L'agent choisit-il les outils appropriés pour chaque étape ?

Associer

ToolCalling

L'agent invoque-t-il les outils avec des paramètres corrects ?

Associer

Évaluateur

Qu'est-ce que cela évalue ?

Documentation TruLens

LogicalConsistency

Le raisonnement de l'agent est-il logiquement cohérent tout au long de l'exécution ?

Associer

ExecutionEfficiency

L'agent prend-il un chemin optimal sans étapes inutiles ?

Associer

PlanAdherence

L'agent suit-il son plan déclaré pendant l'exécution ?

Associer

PlanQuality

Le plan de l'agent est-il bien structuré et approprié à l'objectif ?

Associer

ToolSelection

L'agent choisit-il les outils appropriés pour chaque étape ?

Associer

ToolCalling

L'agent invoque-t-il les outils avec des paramètres corrects ?

Associer

Les évaluateurs de traces d'agent nécessitent un argument trace et évaluent la trace d'exécution complète :

Python
import mlflow
from mlflow.genai.scorers.trulens import LogicalConsistency, ToolSelection

traces = mlflow.search_traces(experiment_ids=["1"])
results = mlflow.genai.evaluate(
data=traces,
scorers=[
LogicalConsistency(model="openai:/gpt-5-mini"),
ToolSelection(model="openai:/gpt-5-mini"),
],
)

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.trulens import get_scorer

scorer = get_scorer(
metric_name="Groundedness",
model="openai:/gpt-5-mini",
)
feedback = scorer(
inputs="What is MLflow?",
outputs="MLflow is a platform for ML workflows.",
expectations={"context": "MLflow is an ML platform."},
)

Configuration

Les évaluateurs TruLens acceptent les paramètres courants qui contrôlent le comportement d'évaluation. Tous les évaluateurs nécessitent un model parameter.

Python
from mlflow.genai.scorers.trulens import Groundedness, ContextRelevance

# Common parameters
scorer = Groundedness(
model="openai:/gpt-5-mini",
threshold=0.7,
)

# Default threshold is 0.5
scorer = ContextRelevance(model="openai:/gpt-5-mini")

Pour les paramètres spécifiques aux métriques et les options d'utilisation avancées, consultez la documentation TruLens.