Partilhar via


Introdução à avaliação e monitorização das aplicações RAG

A avaliação e o monitoramento são componentes críticos para entender se seu aplicativo RAG está funcionando de acordo com os requisitos de *qualidade, custo e latência ditados pelo seu caso de uso. Tecnicamente, a avaliação acontece durante o desenvolvimento e o monitoramento acontece quando o aplicativo é implantado na produção, mas os componentes fundamentais são semelhantes.

O RAG sobre dados não estruturados é um sistema complexo com muitos componentes que afetam a qualidade do aplicativo. Ajustar qualquer elemento pode ter efeitos em cascata sobre os outros. Por exemplo, alterações na formatação de dados podem influenciar as partes recuperadas e a capacidade do LLM de gerar respostas relevantes. Portanto, é crucial avaliar cada um dos componentes do aplicativo, além do aplicativo como um todo, a fim de refiná-lo iterativamente com base nessas avaliações.

Avaliação e monitorização: ML clássico vs. IA generativa

A avaliação e o monitoramento de aplicações de IA generativa, incluindo RAG, diferem do aprendizado de máquina clássico de várias maneiras:

Tópico ML clássico IA generativa
Métricas As métricas avaliam as entradas e saídas do componente, por exemplo, desvio de recurso, precisão, recordação, latência e assim por diante. Como há apenas um componente, métricas gerais == métricas de componentes. As métricas dos componentes avaliam as entradas e saídas de cada componente, por exemplo, precisão @ K, nDCG, latência, toxicidade e assim por diante. As métricas compostas avaliam como vários componentes interagem: A fidelidade mede a aderência do gerador ao conhecimento de um retriever que requer a cadeia de entrada, saída e saída da cadeia do retriever interno. As métricas gerais avaliam a entrada e saída geral do sistema, por exemplo, correção e latência da resposta.
Avaliação A resposta é deterministicamente "certa" ou "errada". As métricas determinísticas funcionam. A resposta é "certa" ou "errada", mas: • Há muitas respostas certas (não deterministas). • Algumas respostas certas são mais certas. Você precisa: • Feedback humano para estar confiante. • Métricas julgadas por LLM para avaliação de escala.

Componentes da avaliação e do acompanhamento

Avaliar e monitorar efetivamente a qualidade, o custo e a latência do aplicativo RAG requer vários componentes:

  • Conjunto de avaliação: Para avaliar rigorosamente seu aplicativo RAG, você precisa de um conjunto selecionado de consultas de avaliação (e, idealmente, saídas) que sejam representativas do uso pretendido do aplicativo. Esses exemplos de avaliação devem ser desafiadores, diversificados e atualizados para refletir as mudanças no uso e nos requisitos.
  • Definições de métrica: você não pode gerenciar o que não mede. Para melhorar a qualidade RAG, é essencial definir o que significa qualidade para o seu caso de uso. Dependendo do aplicativo, métricas importantes podem incluir precisão de resposta, latência, custo ou classificações dos principais interessados. Você precisará de métricas que meçam cada componente, como os componentes interagem entre si e o sistema geral.
  • Juízes de LLM: Dada a natureza aberta das respostas de LLM, não é viável ler todas as respostas cada vez que você avalia para determinar se a saída está correta. Usar um LLM adicional e diferente para revisar os resultados pode ajudar a dimensionar sua avaliação e calcular métricas adicionais, como a fundamentação de uma resposta a milhares de tokens de contexto, que seriam inviáveis para os avaliadores humanos avaliarem efetivamente em escala.
  • Conjunto de avaliação: Durante o desenvolvimento, um conjunto de avaliação ajuda você a executar rapidamente seu aplicativo para cada registro em seu conjunto de avaliação e, em seguida, executar cada saída por meio de seus juízes LLM e cálculos métricos. Isso é particularmente desafiador, já que essa etapa "bloqueia" seu loop interno de desenvolvimento, então a velocidade é de extrema importância. Um bom conjunto de avaliação paraleliza esse trabalho tanto quanto possível, muitas vezes girando uma infraestrutura adicional, como mais capacidade de LLM para fazê-lo.
  • Interface do usuário voltada para as partes interessadas: como desenvolvedor, você pode não ser um especialista em domínio no conteúdo do aplicativo que está desenvolvendo. Para coletar feedback de especialistas humanos que possam avaliar a qualidade do seu aplicativo, você precisa de uma interface que permita que eles interajam com o aplicativo e forneçam feedback detalhado.
  • Registro de rastreamento de produção: Uma vez em produção, você precisa avaliar uma quantidade significativamente maior de solicitações/respostas e como cada resposta foi gerada. Por exemplo, você precisa saber se a causa raiz de uma resposta de baixa qualidade é devido à etapa de recuperação ou a uma alucinação. Seu registro de produção deve rastrear as entradas, saídas e etapas intermediárias, como a recuperação de documentos, para permitir o monitoramento contínuo e a deteção e diagnóstico precoces de problemas que surgem na produção.

Estes documentos abrangem a avaliação com muito mais detalhe em Avaliar a qualidade RAG.