Avalie o desempenho: métricas importantes
Este artigo aborda a medição do desempenho de um aplicativo RAG para a qualidade da recuperação, resposta e desempenho do sistema.
Recuperação, resposta e desempenho
Com um conjunto de avaliação, você pode medir o desempenho do seu aplicativo RAG em várias dimensões diferentes, incluindo:
- Qualidade da recuperação: as métricas de recuperação avaliam o sucesso com que seu aplicativo RAG recupera dados de suporte relevantes. Precisão e recall são duas métricas de recuperação fundamentais.
- Qualidade da resposta: as métricas de qualidade da resposta avaliam o quão bem o aplicativo RAG responde à solicitação de um usuário. As métricas de resposta podem avaliar, por exemplo, se a resposta resultante é precisa de acordo com a verdade fundamental, quão bem fundamentada foi a resposta com o contexto recuperado (por exemplo, o LLM alucinou?) ou quão segura foi a resposta sem toxicidade.
- Desempenho do sistema (custo e latência): as métricas capturam o custo geral e o desempenho dos aplicativos RAG. A latência geral e o consumo de tokens são exemplos de métricas de desempenho em cadeia.
É muito importante coletar métricas de resposta e recuperação. Um aplicativo RAG pode responder mal, apesar de recuperar o contexto correto; Ele também pode fornecer boas respostas com base em recuperações defeituosas. Somente medindo ambos os componentes podemos diagnosticar e resolver com precisão os problemas no aplicativo.
Abordagens para medir o desempenho
Há duas abordagens principais para medir o desempenho nessas métricas:
- Medição determinística: As métricas de custo e latência podem ser calculadas deterministicamente com base nas saídas do aplicativo. Se o seu conjunto de avaliação incluir uma lista de documentos que contêm a resposta a uma pergunta, um subconjunto das métricas de recuperação também pode ser calculado deterministicamente.
- Medição baseada em juiz LLM: Nesta abordagem, um LLM separado atua como um juiz para avaliar a qualidade da extração e das respostas da aplicação RAG. Alguns juízes de LLM, como a avaliação da correção de respostas, comparam a verdade de referência identificada por humanos com os resultados da aplicação. Outros juízes de LLM, como a consistência, não exigem uma verdade básica rotulada por humanos para avaliar os resultados dos seus aplicativos.
Importante
Para que um juiz de LLM seja eficaz, ele deve estar ajustado para entender o caso de uso. Fazê-lo requer uma atenção cuidadosa para entender onde o juiz funciona bem e onde não funciona, e depois ajustar o juiz para melhorar os casos problemáticos.
O Mosaic AI Agent Evaluation fornece uma implementação pronta para uso, usando modelos de juízes LLM hospedados, para cada métrica discutida nesta página. A documentação do Agent Evaluation discute os detalhes de como essas métricas e juízes são implementados e fornece recursos para ajustar os juízes com seus dados para aumentar sua precisão
Visão geral das métricas
Abaixo está um resumo das métricas que a Databricks recomenda para medir a qualidade, o custo e a latência do seu aplicativo RAG. Essas métricas são implementadas no Mosaic AI Agent Evaluation.
Dimensão | Nome da métrica | Pergunta | Medido por | Precisa da verdade fundamental? |
---|---|---|---|---|
Obtenção | chunk_relevance/precisão | Que % das partes recuperadas são relevantes para o pedido? | Juiz LLM | Não |
Recuperação | recuperação_de_documento | Que % dos documentos de verdade do terreno estão representados nos pedaços recuperados? | Determinística | Sim |
Obtenção | suficiência de contexto | Os pedaços recuperados são suficientes para produzir a resposta esperada? | Juiz LLM | Sim |
Resposta | correção | No geral, o agente gerou uma resposta correta? | Juiz LLM | Sim |
Resposta | relevância_para_consulta | A resposta é relevante para o pedido? | Juiz LLM | Não |
Resposta | aterramento | A resposta é uma alucinação ou fundamentada no contexto? | Juiz LLM | Não |
Resposta | Segurança | Há conteúdo nocivo na resposta? | Juiz LLM | Não |
Custo | contagem_total_de_tokens, contagem_total_de_tokens_de_entrada, contagem_total_de_tokens_de_saida | Qual é a contagem total de tokens para gerações LLM? | Determinística | Não |
Latência | latência_segundos | Qual é a latência de execução do aplicativo? | Determinística | Não |
Como funcionam as métricas de recuperação
As métricas de recuperação ajudam você a entender se o seu retriever está entregando resultados relevantes. As métricas de recuperação são baseadas em precisão e recordação.
Nome da Métrica | Pergunta respondida | Detalhes |
---|---|---|
Precisão | Que % das partes recuperadas são relevantes para o pedido? | Precisão é a proporção de documentos recuperados que são realmente relevantes para a solicitação do usuário. Um juiz LLM pode ser usado para avaliar a relevância de cada parte recuperada para a solicitação do usuário. |
Recuperar | Que percentagem dos documentos de verdade real está representada nos fragmentos recuperados? | Recall é a proporção dos documentos de referência que são representados nos segmentos recuperados. Esta é uma medida da completude dos resultados. |
Precisão e recall
Abaixo está uma rápida cartilha sobre Precisão e recall adaptada do excelente artigo da Wikipédia.
Fórmula de precisão
Medidas de precisão "Das partes que recuperei, qual % desses itens é realmente relevante para a consulta do meu usuário?" A precisão computacional não requer o conhecimento de todos os itens relevantes.
Fórmula de recall
Medidas de revocação "De TODOS os documentos que eu sei que são relevantes para a consulta do meu utilizador, qual a percentagem de que recuperei uma parte?" A recuperação computacional requer que sua verdade-base contenha todos os itens relevantes. Os itens podem ser um documento ou um pedaço de um documento.
No exemplo abaixo, dois dos três resultados recuperados foram relevantes para a consulta do usuário, portanto, a precisão foi de 0,66 (2/3). Os documentos recuperados incluíram dois de um total de quatro documentos relevantes, de modo que o recall foi de 0,5 (2/4).