Pular para o conteúdo principal

Avaliadores do DeepEval

DeepEval é uma estrutura de avaliação abrangente para aplicações LLM que fornece métricas para sistemas RAG, agentes, AI conversacional e avaliação de segurança. O MLflow integra-se com o DeepEval para que você possa usar as métricas do DeepEval como avaliadores.

Requisitos

Instale o pacote deepeval :

Python
%pip install deepeval

Comece rápido

Para chamar um avaliador DeepEval diretamente:

Python
from mlflow.genai.scorers.deepeval import AnswerRelevancy

scorer = AnswerRelevancy(threshold=0.7, model="databricks:/databricks-gpt-5-mini")
feedback = scorer(
inputs="What is MLflow?",
outputs="MLflow is an open-source AI engineering platform for agents and LLMs.",
)

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

Para chamar os avaliadores DeepEval usando mlflow.genai.evaluate():

Python
import mlflow
from mlflow.genai.scorers.deepeval import AnswerRelevancy, Faithfulness

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

results = mlflow.genai.evaluate(
data=eval_dataset,
scorers=[
AnswerRelevancy(threshold=0.7, model="databricks:/databricks-gpt-5-mini"),
Faithfulness(threshold=0.8, model="databricks:/databricks-gpt-5-mini"),
],
)

Avaliadores DeepEval 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 do DeepEval

AnswerRelevancy

O resultado é relevante para a consulta de entrada?

Link

Faithfulness

O resultado é factualmente consistente com o contexto de recuperação?

Link

ContextualRecall

O contexto de recuperação contém todas as informações necessárias?

Link

ContextualPrecision

Os nós relevantes são classificados acima dos irrelevantes?

Link

ContextualRelevancy

O contexto de recuperação é relevante para a consulta?

Link

Mentes agentes

Esses avaliadores analisam o comportamento do agente AI , incluindo a conclusão de tarefas e o uso de ferramentas.

Marcador

O que avalia?

Documentação do DeepEval

TaskCompletion

O agente concluiu com sucesso a tarefa que lhe foi atribuída?

Link

ToolCorrectness

O agente está utilizando as ferramentas corretas?

Link

ArgumentCorrectness

Os argumentos da ferramenta estão corretos?

Link

StepEfficiency

O agente segue o caminho ideal?

Link

PlanAdherence

O agente está seguindo o plano?

Link

PlanQuality

O plano do agente está bem estruturado?

Link

Mentes conversacionais

Esses avaliadores analisam a qualidade AI conversacional em múltiplas interações.

Marcador

O que avalia?

Documentação do DeepEval

TurnRelevancy

Cada turno de fala é relevante para a conversa?

Link

RoleAdherence

O assistente mantém a função que lhe foi atribuída?

Link

KnowledgeRetention

O agente retém informações durante os turnos?

Link

ConversationCompleteness

Todas as dúvidas dos usuários foram respondidas?

Link

GoalAccuracy

A conversa atinge seu objetivo?

Link

ToolUse

O agente utiliza as ferramentas de forma adequada na conversa?

Link

TopicAdherence

A conversa se mantém no assunto?

Link

Segurança

Esses avaliadores analisam a segurança e a responsabilidade dos resultados do modelo.

Marcador

O que avalia?

Documentação do DeepEval

Bias

O conteúdo produzido é tendencioso?

Link

Toxicity

O texto contém linguagem tóxica?

Link

NonAdvice

O modelo fornece aconselhamento inadequado em domínios restritos?

Link

Misuse

Os resultados poderiam ser usados para fins prejudiciais?

Link

PIILeakage

O resultado vaza informações de identificação pessoal?

Link

RoleViolation

O assistente ultrapassa os limites da sua função atribuída?

Link

Outras métricas

Marcador

O que avalia?

Documentação do DeepEval

Hallucination

O LLM fabrica informações fora do contexto?

Link

Summarization

O resumo está correto e completo?

Link

JsonCorrectness

A saída JSON corresponde ao esquema esperado?

Link

PromptAlignment

A saída está de acordo com as instruções do prompt?

Link

Méritos não-LLM

Marcador

O que avalia?

Documentação do DeepEval

ExactMatch

O resultado corresponde exatamente ao resultado esperado?

Link

PatternMatch

O resultado corresponde a algum padrão de expressão regular?

Link

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

scorer = get_scorer(
metric_name="AnswerRelevancy",
threshold=0.7,
model="databricks:/databricks-gpt-5-mini",
)
feedback = scorer(
inputs="What is MLflow?",
outputs="MLflow is a platform for ML workflows.",
)

Configuração

Os avaliadores do DeepEval aceitam parâmetros específicos da métrica como argumentos nomeados para o construtor. As métricas baseadas em LLM requerem um parâmetro model .

Python
from mlflow.genai.scorers.deepeval import AnswerRelevancy, TurnRelevancy

# LLM-based metric with common parameters
scorer = AnswerRelevancy(
model="databricks:/databricks-gpt-5-mini",
threshold=0.7,
include_reason=True,
)

# Metric-specific parameters
conversational_scorer = TurnRelevancy(
model="openai:/gpt-4o",
threshold=0.8,
window_size=3,
strict_mode=True,
)

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