Pular para o conteúdo principal

Introdução à avaliação & monitoramento de aplicações RAG

Avaliação e monitoramento são componentes críticos para entender se seu aplicativo RAG está atendendo aos requisitos de qualidade, custo e latência ditados pelo seu caso de uso. Tecnicamente, a avaliação ocorre durante o desenvolvimento e o monitoramento ocorre uma vez que o aplicativo é implantado em produção, mas os componentes fundamentais são semelhantes.

O RAG sobre dados não estruturados é um sistema complexo com muitos componentes que impactam a qualidade do aplicativo. Ajustar qualquer elemento único pode ter efeitos em cascata sobre os outros. Por exemplo, mudanças 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 monitoramento: ML clássico vs. AI generativa

A avaliação e o monitoramento de aplicações de AI generativa, incluindo RAG, diferem do machine learning 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, drift de recurso, precisão, recall, latência e assim por diante. Como há apenas um componente, métricas gerais == métricas de componente.

Métricas de componente avaliam as entradas e saídas de cada componente, por exemplo, precisão @ K, nDCG, latência, toxicidade e assim por diante. Métricas compostas avaliam como vários componentes interagem: a Fidelidade mede a aderência do gerador ao conhecimento de um recuperador que exige a entrada da cadeia, a saída da cadeia e a saída do recuperador interno. Métricas gerais avaliam a entrada e saída gerais do sistema, por exemplo, precisão da resposta e latência.

Avaliação

A resposta é deterministicamente “certa” ou “errada.” Métricas determinísticas funcionam.

A resposta é “certa” ou “errada”, mas: • Existem muitas respostas certas (não determinísticas). • Algumas respostas certas são mais certas. Você precisa: • De feedback humano para ter confiança. • Métricas avaliadas por LLM para avaliação em escala.

Componentes de avaliação e monitoramento

A avaliação e o monitoramento eficazes da qualidade, custo e latência de aplicativos RAG exigem 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, diversos e atualizados para refletir mudanças no uso e nos requisitos.
  • **Definições de métricas:** Não é possível gerenciar o que não se mede. Para melhorar a qualidade do RAG, é essencial definir o que a qualidade significa para o caso de uso. Dependendo do aplicativo, métricas importantes podem incluir precisão da resposta, latência, custo ou classificações de stakeholders key. Serão necessárias métricas que meçam cada componente, como os componentes interagem entre si e o sistema geral.
  • Juízes do LLM: Dada a natureza aberta das respostas do LLM, não é viável ler cada resposta individual toda vez que você avalia para determinar se a saída está correta. Usar um LLM adicional e diferente para revisar as saídas pode ajudar a escalar sua avaliação e compute métricas adicionais, como a fundamentação de uma resposta a milhares de tokens de contexto, o que seria inviável para avaliadores humanos analisarem efetivamente em escala.
  • **Estrutura de avaliação:** Durante o desenvolvimento, uma estrutura de avaliação ajuda na execução rápida de sua aplicação para cada registro em seu conjunto de avaliação e, em seguida, passar cada saída pelos seus juízes de LLM e cálculos de métricas. Isso é particularmente desafiador, pois esta etapa "bloqueia" seu ciclo de desenvolvimento interno, então a velocidade é de suma importância. Uma boa estrutura de avaliação paraleliza este trabalho o máximo possível, frequentemente ativando infraestruturas adicionais, como mais capacidade de LLM para isso.
  • UI voltada para stakeholders: Como desenvolvedor, é possível que não seja um especialista no domínio no conteúdo do aplicativo que está desenvolvendo. Para coletar feedback de especialistas humanos que possam avaliar a qualidade do seu aplicativo, é necessária uma interface que lhes permita interagir com o aplicativo e fornecer feedback detalhado.
  • Log 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 se deve a o passo de recuperação ou a uma alucinação. Seu registro de produção deve rastrear as entradas, saídas e os passos intermediários, como recuperação de documentos, para permitir o monitoramento contínuo e a detecção precoce e diagnóstico de problemas que surgem em produção.

Esta documentação aborda a avaliação com muito mais detalhes em Avaliar a qualidade do RAG.