Usar métricas do agente & Juízes do LLM para avaliar o desempenho do aplicativo
Prévia
Este recurso está em Prévia pública.
Este artigo descreve as métricas do agente e o modelo de linguagem de grande porte (LLM), que são avaliados pela execução da avaliação do agente. Saiba como usar os resultados da avaliação para determinar a qualidade de seu aplicativo autêntico.
A Databricks dedica-se ao aprimoramento da qualidade dos juízes, medindo sua concordância com os avaliadores humanos. A Databricks utiliza exemplos diversificados e difíceis de conjuntos de dados acadêmicos e proprietários para avaliar e aprimorar os juízes em relação às abordagens de juiz LLM de última geração, garantindo aprimoramento contínuo e alta precisão.
Saídas da execução de avaliação
Cada execução de avaliação gera os seguintes tipos de resultados:
Informações sobre solicitações e respostas
request_id
solicitação
resposta
expected_retrieved_context
expected_response
retrieved_context
trace
Métricas de agente e juízes de LLM
As métricas dos agentes e os juízes do LLM ajudam você a determinar a qualidade da sua aplicação.
Métricas e juízes dos agentes
Há duas abordagens para medir o desempenho dessas métricas:
Use um juiz do LLM: Um LLM separado atua como juiz para avaliar a qualidade da recuperação e da resposta do aplicativo. Essa abordagem automatiza a avaliação em várias dimensões.
Use funções determinísticas: Avalie o desempenho derivando métricas determinísticas do rastreamento do aplicativo e, opcionalmente, da verdade básica registrada no conjunto de avaliação. Alguns exemplos incluem métricas de custo e latência, ou a avaliação da recuperação de recuperação com base em documentos de verdade.
A tabela a seguir lista as métricas incorporadas e as perguntas que podem responder:
Nome da métrica |
Pergunta |
Tipo de métrica |
---|---|---|
|
LLM julgado |
|
|
Quantos dos documentos relevantes conhecidos o recuperador encontrou? |
Determinístico (é necessária a verdade terrestre) |
|
LLM julgado (é necessária a verdade fundamental) |
|
|
LLM julgado |
|
|
A resposta é uma alucinação ou está fundamentada no contexto? |
LLM julgado |
|
LLM julgado |
|
|
Determinístico |
|
|
Determinístico |
Você também pode definir um juiz de LLM personalizado para avaliar critérios específicos do seu caso de uso.
Consulte Informações sobre os modelos que alimentam os juízes LLM para ver informações sobre confiança e segurança do juiz LLM.
Métricas de recuperação
As métricas de recuperação avaliam o sucesso com que o aplicativo agêntico recupera dados de suporte relevantes. Precisão e recuperação são duas key métricas de recuperação.
recall = # of relevant retrieved items / total # of relevant items
precision = # of relevant retrieved items / # of items retrieved
O carregador encontrou trechos relevantes?
Determinar se o recuperador retorna pedaços relevantes para a solicitação de entrada. O senhor pode usar um juiz LLM para determinar a relevância dos blocos sem a verdade básica e usar uma métrica de precisão derivada para quantificar a relevância geral dos blocos retornados.
![Exemplo de precisão de relevância de trecho](../../_images/chunk-relevance-precision.png)
Juiz do LLM: juiz
chunk-relevance-precision
Verdade fundamental necessária:
None
Esquema do conjunto de avaliação de entrada:
request
retrieved_context[].content
outrace
(somente se o argumentomodel
não for usado emmlflow.evaluate()
)
yes
: O trecho recuperado é relevante para a solicitação de entrada.
no
: O trecho recuperado não é relevante para a solicitação de entrada.
Saídas para cada pergunta:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
Para cada trecho, |
|
|
Para cada pedaço, 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. |
Métricas relatadas de 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?
Calcula a porcentagem de recuperação de documentos relevantes de verdade fundamental recuperados com êxito pelo recuperador.
![Exemplo de recuperação de documentos](../../_images/ground-truth-document-recall.png)
Juiz do LLM: Nenhum, baseado na verdade fundamental
Verdade fundamental necessária:
Yes
Esquema do conjunto de avaliação de entrada:
expected_retrieved_context[].doc_uri
retrieved_context[].doc_uri
outrace
(somente se o argumentomodel
não for usado emmlflow.evaluate()
)
Saídas para cada pergunta:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
A porcentagem da verdade fundamental |
Métricas relatadas de todo o conjunto de avaliação:
Nome da métrica |
Tipo |
Descrição |
---|---|---|
|
|
Em todas as perguntas, qual é o valor médio de |
Métricas de resposta
As métricas de qualidade de resposta avaliam a qualidade da resposta do aplicativo à solicitação do usuário. As métricas de resposta podem medir, por exemplo, se a resposta resultante é precisa de acordo com a verdade fundamental, o quão bem fundamentada foi a resposta, considerando o contexto recuperado (por exemplo, o LLM alucinou) ou o quão segura foi a resposta (por exemplo, sem toxicidade).
No geral, o LLM deu uma resposta precisa?
Tenha uma avaliação binária e um raciocínio escrito sobre se a resposta gerada pelo agente é factualmente precisa e semanticamente semelhante à resposta de verdade básica fornecida.
Juiz do LLM: juiz
correctness
Verdade fundamental necessária: Sim,
expected_response
Esquema do conjunto de avaliação de entrada:
request
expected_response
response
outrace
(somente se o argumentomodel
não for usado emmlflow.evaluate()
)
yes
: A resposta gerada é altamente precisa e semanticamente semelhante à verdade fundamental. São aceitáveis pequenas omissões ou imprecisões que ainda capturem a intenção da verdade fundamental.
no
: A resposta não atende aos critérios. É imprecisa, parcialmente precisa ou semanticamente diferente.
Resultados apresentados para cada pergunta:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
|
|
|
Raciocínio escrito do LLM para sim/não |
|
|
Se houver um erro no cálculo dessa métrica, os detalhes do erro estarão aqui e os outros valores serão NULL. Se não houver erro, será NULL. |
Métricas relatadas de todo o conjunto de avaliação:
Nome da métrica |
Tipo |
Descrição |
---|---|---|
|
|
Em todas as perguntas, qual é a porcentagem em que a correção é julgada como |
A resposta é relevante para a solicitação?
Determine se a resposta é relevante para a solicitação de entrada.
Juiz do LLM: juiz
relevance_to_query
Verdade fundamental necessária:
None
Esquema do conjunto de avaliação de entrada:
request
response
outrace
(somente se o argumentomodel
não for usado emmlflow.evaluate()
)
yes
: A resposta é relevante para a solicitação de entrada original.
no
: A resposta não é relevante para a solicitação de entrada original.
Saídas para cada pergunta:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
|
|
|
Raciocínio escrito do LLM para |
|
|
Se houver um erro no cálculo dessa métrica, os detalhes do erro estarão aqui e os outros valores serão NULL. Se não houver erro, será NULL. |
Métricas relatadas de todo o conjunto de avaliação:
Nome da métrica |
Tipo |
Descrição |
---|---|---|
|
|
Em todas as perguntas, qual é a porcentagem em que |
A resposta é uma alucinação ou está fundamentada no contexto recuperado?
Receber uma avaliação binária e uma justificativa por escrito sobre se a resposta gerada é de fato consistente com o contexto recuperado.
Juiz do LLM: juiz
groundedness
Verdade fundamental necessária: nenhuma
Esquema do conjunto de avaliação de entrada:
request
retrieved_context[].content
outrace
(somente se o argumentomodel
não for usado emmlflow.evaluate()
)response
outrace
(somente se o argumentomodel
não for usado emmlflow.evaluate()
)
yes
: O contexto recuperado suporta todas ou quase todas as respostas geradas.
no
: O contexto recuperado não é compatível com a resposta gerada.
Resultados apresentados para cada pergunta:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
|
|
|
Raciocínio escrito do LLM para |
|
|
Se houver um erro no cálculo dessa métrica, os detalhes do erro estarão aqui e os outros valores serão NULL. Se não houver erro, será NULL. |
Métricas relatadas de 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?
Receber uma classificação binária e uma justificativa por escrito sobre se a resposta gerada tem conteúdo prejudicial ou tóxico.
Juiz do LLM: juiz
safety
Verdade fundamental necessária: nenhuma
Esquema do conjunto de avaliação de entrada:
request
response
outrace
(somente se o argumentomodel
não for usado emmlflow.evaluate()
)
yes
: A resposta gerada não tem conteúdo nocivo nem tóxico.
no
: A resposta gerada tem conteúdo nocivo ou tóxico.
Resultados apresentados para cada pergunta:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
|
|
|
Raciocínio escrito do LLM para |
|
|
Se houver um erro no cálculo dessa métrica, os detalhes do erro estarão aqui e os outros valores serão NULL. Se não houver erro, será NULL. |
Métricas relatadas de todo o conjunto de avaliação:
Nome da métrica |
Tipo |
Descrição |
---|---|---|
|
|
Qual porcentagem de todas as perguntas foi considerada |
Juiz LLM de recuperação personalizada
Use um juiz de recuperação personalizado para realizar uma avaliação personalizada para cada pedaço recuperado. O juiz LLM é chamado para cada parte em todas as questões. Para obter detalhes sobre a configuração de juízes personalizados, consulte Avaliação avançada de agentes.
Resultados apresentados para cada avaliação:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
Para cada bloco, |
|
|
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. |
|
|
Qual porcentagem de todos os fragmentos recuperados é julgada como |
Métricas relatadas de todo o conjunto de avaliação:
Nome da métrica |
Tipo |
Descrição |
---|---|---|
|
|
Em todas as perguntas, qual é o valor médio de |
Métricas de desempenho
desempenho métricas capturam o custo geral e o desempenho dos aplicativos autênticos. A latência geral e o consumo de tokens são exemplos de métricas de desempenho.
Qual é o custo em tokens da execução do aplicativo agêntico?
Calcula a contagem total de tokens em todas as chamadas de geração de LLM no rastreamento. Isso aproxima o custo total dado como mais tokens, o que geralmente leva a um custo maior.
Saídas para cada pergunta:
Campo de dados |
Tipo |
Descrição |
---|---|---|
|
|
Soma de todos os tokens de entrada e saída em todas as extensões de LLM no rastreamento do agente |
|
|
Soma de todos os tokens de entrada em todos os intervalos LLM no rastreamento do agente |
|
|
Soma de todos os tokens de saída em todos os intervalos LLM no rastreamento do agente |
Métricas relatadas de todo o conjunto de avaliação:
Nome |
Descrição |
---|---|
|
Valor médio em todas as perguntas |
|
Valor médio em todas as perguntas |
|
Valor médio em todas as perguntas |
Qual é a latência da execução do aplicativo agêntico?
calcula a latência do aplicativo inteiro em segundos para o rastreamento.
Saídas para cada pergunta:
Nome |
Descrição |
---|---|
|
Latência de ponta a ponta com base no rastreamento |
Métricas relatadas de todo o conjunto de avaliação:
Nome da métrica |
Descrição |
---|---|
|
Valor médio em todas as perguntas |
Informações sobre os modelos que capacitam os juízes do LLM
Os juízes do LLM podem utilizar serviços de terceiros para avaliar suas aplicações GenAI, incluindo o Azure OpenAI operado pela Microsoft.
Para o Azure OpenAI, a Databricks optou por não utilizar o Abuse Monitoring, portanto nenhum prompt ou resposta é armazenado com o Azure OpenAI.
Para os espaços de trabalho da União Europeia (UE), os juízes do LLM utilizam modelos hospedados na UE. Todas as outras regiões utilizam modelos hospedados nos EUA.
A desativação dos recursos de assistência de IA alimentados por parceiros impedirá que o juiz do LLM ligue para modelos desenvolvidos por parceiros.
Os dados enviados para o juiz do LLM não são usados para nenhum treinamento de modelo.
Os juízes do LLM têm como objetivo ajudar os clientes a avaliar seus aplicativos RAG e os resultados dos juízes do LLM não devem ser usados para ensinar, melhorar nem ajustar um LLM.