Mosaic AI Agent Evaluation LLM judges reference
Prévia
Esse recurso está em Pré-lançamento público.
Este artigo aborda os detalhes de cada um dos juízes do LLM que estão integrados ao Mosaic AI Agent Evaluation, incluindo as métricas de entrada e saída necessárias. Também abrange a produção produzida por juízes personalizados.
Para obter uma introdução aos juízes do LLM, consulte Como a qualidade, o custo e a latência são avaliados pela Avaliação de agentes.
Juízes de resposta
As métricas de qualidade de resposta avaliam a qualidade da resposta do aplicativo à solicitação do usuário. Essas métricas avaliam fatores como a precisão da resposta em comparação com a verdade básica, se a resposta é bem fundamentada, considerando o contexto recuperado (ou se o LLM está alucinando), e se a resposta é segura e livre de linguagem tóxica.
No geral, o LLM deu uma resposta precisa?
O juiz do correctness
LLM fornece uma avaliação binária e uma justificativa por escrito sobre se a resposta gerada pelo agente é factualmente precisa e semanticamente semelhante à resposta da verdade fundamental fornecida.
Entrada necessária para correctness
A verdade fundamental expected_response
é necessária.
O conjunto de avaliação de entrada deve ter as seguintes colunas:
request
expected_response
Além disso, se você não usar o argumento model
na chamada para mlflow.evaluate()
, também deverá fornecer response
ou trace
.
Importante
A verdade básica expected_response
deve incluir apenas o conjunto mínimo de fatos necessários para uma resposta correta. Se você copiar uma resposta de outra fonte, edite a resposta para remover qualquer texto que não seja necessário para que uma resposta seja considerada correta.
Incluir apenas as informações necessárias e deixar de fora as informações que não são estritamente necessárias na resposta permite que a Avaliação de agentes forneça um sinal mais robusto sobre a qualidade do resultado.
Saída para correctness
As métricas a seguir são calculadas para cada pergunta:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
|
|
|
A justificativa por escrito do LLM para |
|
|
Se houve um erro ao computar essas métricas, os detalhes do erro estão aqui. Se não houver erro, isso é NULL. |
As seguintes métricas são calculadas para todo o conjunto de avaliação:
Nome da métrica |
Tipo |
Descrição |
---|---|---|
|
|
Em todas as perguntas, a porcentagem em que a correção é avaliada como |
A resposta é relevante para a solicitação?
O juiz do relevance_to_query
LLM determina se a resposta é relevante para a solicitação de entrada.
Entrada necessária para relevance_to_query
A verdade fundamental não é necessária.
O conjunto de avaliação de entrada deve ter a seguinte coluna:
request
Além disso, se você não usar o argumento model
na chamada para mlflow.evaluate()
, também deverá fornecer response
ou trace
.
Saída para relevance_to_query
As métricas a seguir são calculadas para cada pergunta:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
|
|
|
A justificativa por escrito do LLM para |
|
|
Se houve um erro ao computar essas métricas, os detalhes do erro estão aqui. Se não houver erro, isso é NULL. |
As seguintes métricas são calculadas para todo o conjunto de avaliação:
Nome da métrica |
Tipo |
Descrição |
---|---|---|
|
|
Em todas as perguntas, a porcentagem em que |
A resposta é uma alucinação ou está baseada no contexto recuperado?
O juiz do groundedness
LLM retorna uma avaliação binária e uma justificativa por escrito sobre se a resposta gerada é de fato consistente com o contexto recuperado.
Entrada necessária para groundedness
A verdade fundamental não é necessária.
O conjunto de avaliação de entrada deve ter a seguinte coluna:
request
Além disso, se você não usar o argumento model
na chamada para mlflow.evaluate()
, também deverá fornecer trace
ou response
e retrieved_context[].content
.
Saída para groundedness
As métricas a seguir são calculadas para cada pergunta:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
|
|
|
A justificativa por escrito do LLM para |
|
|
Se houve um erro ao computar essas métricas, os detalhes do erro estão aqui. Se não houver erro, isso é NULL. |
As seguintes métricas são calculadas para todo o conjunto de avaliação:
Nome da métrica |
Tipo |
Descrição |
---|---|---|
|
|
Em todas as perguntas, qual é a porcentagem em que |
Há conteúdo prejudicial na resposta do agente?
O juiz do safety
LLM retorna uma classificação binária e uma justificativa por escrito sobre se a resposta gerada tem conteúdo prejudicial ou tóxico.
Entrada necessária para safety
A verdade fundamental não é necessária.
O conjunto de avaliação de entrada deve ter a seguinte coluna:
request
Além disso, se você não usar o argumento model
na chamada para mlflow.evaluate()
, também deverá fornecer response
ou trace
.
Saída para safety
As métricas a seguir são calculadas para cada pergunta:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
|
|
|
A justificativa por escrito do LLM para |
|
|
Se houve um erro ao computar essas métricas, os detalhes do erro estão aqui. Se não houver erro, isso é NULL. |
As seguintes métricas são calculadas para todo o conjunto de avaliação:
Nome da métrica |
Tipo |
Descrição |
---|---|---|
|
|
Porcentagem de todas as perguntas que foram consideradas |
Juízes de recuperação
As métricas de qualidade de recuperação avaliam o desempenho do recuperador em encontrar os documentos relevantes para a solicitação de entrada. Essas métricas avaliam fatores como: O recuperador encontrou os blocos relevantes? Quantos dos documentos relevantes conhecidos ele encontrou? Os documentos encontrados foram suficientes para produzir a resposta esperada?
O carregador encontrou trechos relevantes?
O juiz do chunk-relevance-precision
LLM determina se os blocos retornados pelo recuperador são relevantes para a solicitação de entrada. A precisão é calculada como o número de partes relevantes retornadas dividido pelo número total de partes retornadas. Por exemplo, se o recuperador retornar quatro blocos e o juiz do LLM determinar que três dos quatro documentos retornados são relevantes para a solicitação, então llm_judged/chunk_relevance/precision
é 0,75.
Entrada necessária para llm_judged/chunk_relevance
A verdade fundamental não é necessária.
O conjunto de avaliação de entrada deve ter a seguinte coluna:
request
Além disso, se você não usar o argumento model
na chamada para mlflow.evaluate()
, também deverá fornecer retrieved_context[].content
ou trace
.
Saída para llm_judged/chunk_relevance
As métricas a seguir são calculadas para cada pergunta:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
Para cada bloco, |
|
|
Para cada bloco, o raciocínio do LLM para a classificação correspondente. |
|
|
Para cada pedaço, se houve um erro no cálculo da classificação, os detalhes do erro estão aqui e os outros valores de saída serão NULL. Se não houver erro, será NULL. |
|
|
Calcula a porcentagem de blocos relevantes entre todos os blocos recuperados. |
As seguintes métricas são relatadas para todo o conjunto de avaliação:
Nome da métrica |
Tipo |
Descrição |
---|---|---|
|
|
Valor médio de |
Quantos dos documentos relevantes conhecidos o recuperador encontrou?
document_recall
é calculado como o número de documentos relevantes devolvidos dividido pelo número total de documentos relevantes com base na verdade. Por exemplo, suponha que dois documentos sejam relevantes com base na verdade fundamental. Se o recuperador retornar um desses documentos, document_recall
será 0,5. Essa métrica não é afetada pelo número total de documentos devolvidos.
Essa métrica é determinística e não usa um juiz LLM.
Entrada necessária para document_recall
A verdade fundamental é necessária.
O conjunto de avaliação de entrada deve ter a seguinte coluna:
expected_retrieved_context[].doc_uri
Além disso, se você não usar o argumento model
na chamada para mlflow.evaluate()
, também deverá fornecer retrieved_context[].doc_uri
ou trace
.
Saída para document_recall
As seguintes métricas são calculadas para cada pergunta:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
A porcentagem da verdade fundamental |
As seguintes métricas são calculadas para todo o conjunto de avaliação:
Nome da métrica |
Tipo |
Descrição |
---|---|---|
|
|
Valor médio de |
O recuperador encontrou documentos suficientes para produzir a resposta esperada?
O juiz do context_sufficiency
LLM determina se o recuperador recuperou documentos que são suficientes para produzir a resposta esperada.
Entrada necessária para context_sufficiency
A verdade fundamental expected_response
é necessária.
O conjunto de avaliação de entrada deve ter as seguintes colunas:
request
expected_response
Além disso, se você não usar o argumento model
na chamada para mlflow.evaluate()
, também deverá fornecer retrieved_context[].content
ou trace
.
Saída para context_sufficiency
As métricas a seguir são calculadas para cada pergunta:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
|
|
|
A justificativa por escrito do LLM para |
|
|
Se houve um erro ao computar essas métricas, os detalhes do erro estão aqui. Se não houver erro, isso é NULL. |
As seguintes métricas são calculadas para todo o conjunto de avaliação:
Nome da métrica |
Tipo |
Descrição |
---|---|---|
|
|
Porcentagem em que a suficiência do contexto é avaliada como |
Juízes métricos personalizados
Você pode criar um juiz personalizado para realizar avaliações específicas para seu caso de uso. Para obter detalhes, consulte Criar juízes LLM personalizados.
A saída produzida por um juiz personalizado depende de assessment_type
, ANSWER
ou RETRIEVAL
.
Juiz LLM personalizado para avaliação da ANSWER
Um juiz LLM personalizado para avaliação de RESPOSTAS avalia a resposta de cada pergunta.
Resultados apresentados para cada avaliação:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
|
|
|
A justificativa por escrito do LLM para |
|
|
Se houve um erro ao computar essas métricas, os detalhes do erro estão aqui. Se não houver erro, isso é NULL. |
As seguintes métricas são calculadas para todo o conjunto de avaliação:
Nome da métrica |
Tipo |
Descrição |
---|---|---|
|
|
Em todas as perguntas, a porcentagem em que {assessment_name} é julgada como |
Juiz LLM personalizado para avaliação de RETRIEVAL
Um juiz LLM personalizado para avaliação de RETRIEVAL avalia cada trecho recuperado em todas as perguntas.
Resultados apresentados para cada avaliação:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
Avaliação do juiz personalizado para cada parte, |
|
|
Para cada parte, o raciocínio escrito do LLM para |
|
|
Para cada bloco, se houve um erro no cálculo dessa métrica, os detalhes do erro estão aqui e os outros valores são NULL. Se não houver erro, será NULL. |
|
|
Porcentagem de todos os pedaços recuperados que o juiz personalizado avaliou como |
Métricas relatadas de todo o conjunto de avaliação:
Nome da métrica |
Tipo |
Descrição |
---|---|---|
|
|
Valor médio de |