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 :
%pip install deepeval
Comece rápido
Para chamar um avaliador DeepEval diretamente:
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():
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 |
|---|---|---|
O resultado é relevante para a consulta de entrada? | ||
O resultado é factualmente consistente com o contexto de recuperação? | ||
O contexto de recuperação contém todas as informações necessárias? | ||
Os nós relevantes são classificados acima dos irrelevantes? | ||
O contexto de recuperação é relevante para a consulta? |
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 |
|---|---|---|
O agente concluiu com sucesso a tarefa que lhe foi atribuída? | ||
O agente está utilizando as ferramentas corretas? | ||
Os argumentos da ferramenta estão corretos? | ||
O agente segue o caminho ideal? | ||
O agente está seguindo o plano? | ||
O plano do agente está bem estruturado? |
Mentes conversacionais
Esses avaliadores analisam a qualidade AI conversacional em múltiplas interações.
Marcador | O que avalia? | Documentação do DeepEval |
|---|---|---|
Cada turno de fala é relevante para a conversa? | ||
O assistente mantém a função que lhe foi atribuída? | ||
O agente retém informações durante os turnos? | ||
Todas as dúvidas dos usuários foram respondidas? | ||
A conversa atinge seu objetivo? | ||
O agente utiliza as ferramentas de forma adequada na conversa? | ||
A conversa se mantém no assunto? |
Segurança
Esses avaliadores analisam a segurança e a responsabilidade dos resultados do modelo.
Marcador | O que avalia? | Documentação do DeepEval |
|---|---|---|
O conteúdo produzido é tendencioso? | ||
O texto contém linguagem tóxica? | ||
O modelo fornece aconselhamento inadequado em domínios restritos? | ||
Os resultados poderiam ser usados para fins prejudiciais? | ||
O resultado vaza informações de identificação pessoal? | ||
O assistente ultrapassa os limites da sua função atribuída? |
Outras métricas
Marcador | O que avalia? | Documentação do DeepEval |
|---|---|---|
O LLM fabrica informações fora do contexto? | ||
O resumo está correto e completo? | ||
A saída JSON corresponde ao esquema esperado? | ||
A saída está de acordo com as instruções do prompt? |
Méritos não-LLM
Marcador | O que avalia? | Documentação do DeepEval |
|---|---|---|
O resultado corresponde exatamente ao resultado esperado? | ||
O resultado corresponde a algum padrão de expressão regular? |
Criar um marcador por nome
Você pode criar um marcador dinamicamente usando get_scorer passando o nome dos métricas como uma string:
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 .
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.