Pular para o conteúdo principal

Melhore a qualidade do aplicativo RAG

Este artigo fornece uma visão geral de como você pode refinar cada componente para aumentar a qualidade de sua aplicação de geração aumentada de recuperação (RAG).

Existem inúmeros “controles” para ajustar em cada ponto, tanto no pipeline de dados offline quanto na cadeia RAG online. Embora existam inúmeros outros, o artigo se concentra nos aspectos mais importantes que têm o maior impacto na qualidade do seu aplicativo RAG. A Databricks recomenda começar com estes aspectos.

Dois tipos de considerações de qualidade

De um ponto de vista conceitual, é útil view os ajustes de qualidade RAG através da lente dos dois key tipos de problemas de qualidade:

  • Qualidade da recuperação: Você está recuperando as informações mais relevantes para uma determinada consulta de recuperação?

    É difícil gerar uma saída RAG de alta qualidade se o contexto fornecido ao LLM estiver faltando informação importante ou contiver informação supérflua.

  • Qualidade da geração: Considerando as informações recuperadas e a consulta original do usuário, o LLM está gerando a resposta mais precisa, coerente e útil possível?

    Problemas aqui podem manifestar-se como alucinações, saída inconsistente ou falha em abordar diretamente a consulta do usuário.

Os aplicativos RAG têm dois componentes que podem ser iterados para abordar os desafios de qualidade: o pipeline de dados e a cadeia. É tentador assumir uma divisão clara entre problemas de recuperação (simplesmente atualizar o pipeline de dados) e problemas de geração (atualizar a cadeia RAG). No entanto, a realidade é mais complexa. A qualidade da recuperação pode ser influenciada tanto pelo pipeline de dados (por exemplo, estratégia de análise/fragmentação, estratégia de metadados, modelo de incorporação) quanto pela cadeia RAG (por exemplo, transformação de consulta do usuário, número de fragmentos recuperados, reclassificação). Da mesma forma, a qualidade da geração será invariavelmente impactada por uma recuperação deficiente (por exemplo, informação irrelevante ou ausente afetando a saída do modelo).

Esta sobreposição realça a necessidade de uma abordagem holística para a melhoria da qualidade do RAG. Ao compreender quais componentes alterar em todo o pipeline de dados e na cadeia RAG, e como essas mudanças afetam a solução geral, é possível fazer atualizações direcionadas para melhorar a qualidade da saída do RAG.

Considerações de qualidade de pipeline de dados

Diagrama dos componentes do pipeline de dados que afetam a qualidade.

As principais considerações sobre o pipeline de dados:

  • A composição do corpus de dados de entrada.
  • Como os dados brutos são extraídos e transformados em um formato utilizável (por exemplo, análise de um documento PDF).
  • Como os documentos são divididos em partes menores e como essas partes são formatadas (por exemplo, estratégia de divisão e tamanho da parte).
  • Os metadados (como título de seção ou título de documento) extraídos sobre cada documento e/ou fragmento. Como esses metadados são incluídos (ou não incluídos) em cada fragmento.
  • O modelo de incorporação usado para converter texto em representações vetoriais para pesquisa de similaridade.

cadeia RAG

Diagrama dos componentes da cadeia RAG que afetam a qualidade.

  • A escolha do LLM e de seus parâmetros (por exemplo, temperatura e máximo de tokens).
  • Os parâmetros de recuperação (por exemplo, o número de blocos ou documentos recuperados).
  • A abordagem de recuperação (por exemplo, pesquisa por palavra-chave vs. híbrida vs. semântica, reescrita da consulta do usuário, transformação da consulta do usuário em filtros ou reclassificação).
  • Como formatar o prompt com o contexto recuperado para orientar o LLM em direção a resultados de qualidade.