Pular para o conteúdo principal

Pontuadores TruLens

TruLens é uma estrutura de avaliação e observabilidade para aplicações LLM que fornece funções de feedback para sistemas RAG e análise de rastreamento de agentes. O MLflow integra-se com o TruLens para que você possa usar as funções de feedback do TruLens como avaliadores, incluindo avaliações de alinhamento de objetivo-plano-ação (OPA) para rastreamentos de agentes.

Requisitos

Instale os pacotes trulens e trulens-providers-litellm :

Python
%pip install trulens trulens-providers-litellm

Comece rápido

Para ligar diretamente para um avaliador da TruLens:

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

Para chamar os avaliadores TruLens usando 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"),
],
)

Marcadores TruLens disponíveis

RAG

Esses avaliadores analisam a qualidade da recuperação e a geração de respostas em aplicações de geração aumentada por recuperação (RAG).

Marcador

O que avalia?

Documentação TruLens

Groundedness

A resposta está fundamentada no contexto apresentado?

Link

ContextRelevance

O contexto obtido é relevante para a consulta de entrada?

Link

AnswerRelevance

O resultado é relevante para a consulta de entrada?

Link

Coherence

O resultado é coerente e logicamente consistente?

Link

Rastreamento de agente

Esses avaliadores analisam os rastros de execução de agentes AI usando o alinhamento objetivo-plano-ação.

Marcador

O que avalia?

Documentação TruLens

LogicalConsistency

O raciocínio do agente é logicamente consistente ao longo de toda a execução?

Link

ExecutionEfficiency

O agente percorre um caminho ótimo sem passos desnecessários?

Link

PlanAdherence

O agente segue o plano declarado durante a execução?

Link

PlanQuality

O plano do agente está bem estruturado e é adequado ao objetivo?

Link

ToolSelection

O agente escolhe as ferramentas apropriadas para cada etapa?

Link

ToolCalling

O agente invoca as ferramentas com os parâmetros corretos?

Link

Os avaliadores de rastreamento de agentes exigem um argumento trace e avaliam o rastreamento de execução completo:

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

Criar um marcador por nome

Você pode criar um marcador dinamicamente usando get_scorer passando o nome dos métricas como uma string:

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."},
)

Configuração

Os avaliadores TruLens aceitam parâmetros comuns que controlam o comportamento de avaliação. Todos os avaliadores requerem um parâmetro model .

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

Para parâmetros específicos de métricas e opções de uso avançadas, consulte a documentação do TruLens.