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 :
%pip install trulens trulens-providers-litellm
Quick start
Pour appeler un évaluateur TruLens directement :
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():
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 |
|---|---|---|
La réponse est-elle basée sur le contexte fourni ? | ||
Le contexte récupéré est-il pertinent par rapport à la query d'entrée ? | ||
La sortie est-elle pertinente par rapport à la query d'entrée ? | ||
La sortie est-elle cohérente et logiquement homogène ? |
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 |
|---|---|---|
Le raisonnement de l'agent est-il logiquement cohérent tout au long de l'exécution ? | ||
L'agent prend-il un chemin optimal sans étapes inutiles ? | ||
L'agent suit-il son plan déclaré pendant l'exécution ? | ||
Le plan de l'agent est-il bien structuré et approprié à l'objectif ? | ||
L'agent choisit-il les outils appropriés pour chaque étape ? | ||
L'agent invoque-t-il les outils avec des paramètres corrects ? |
Les évaluateurs de traces d'agent nécessitent un argument trace et évaluent la trace d'exécution complète :
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 :
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.
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.