Melhore a qualidade do aplicativo RAG
Este artigo fornece uma visão geral de como o senhor pode refinar cada componente para aumentar a qualidade do seu aplicativo de geração aumentada de recuperação (RAG).
Há uma infinidade de "botões" a serem ajustados em cada ponto do pipeline de dados off-line e da cadeia RAG on-line. Embora existam inúmeros outros, o artigo se concentra nos botões mais importantes que têm o maior impacto sobre a qualidade do seu aplicativo RAG. A Databricks recomenda começar com esses botões.
Dois tipos de considerações de qualidade
Do ponto de vista conceitual view, é útil view os botões de qualidade do RAG através das lentes dos dois key tipos de problemas de qualidade:
Qualidade da recuperação: O senhor está recuperando as informações mais relevantes para uma determinada consulta de recuperação?
É difícil gerar um resultado RAG de alta qualidade se o contexto fornecido para o site LLM não contiver informações importantes ou contiver informações supérfluas.
Qualidade da geração: Considerando as informações recuperadas e a consulta original do usuário, o site LLM está gerando a resposta mais precisa, coerente e útil possível?
Os problemas aqui podem se manifestar como alucinações, resultados inconsistentes ou falha em abordar diretamente a consulta do usuário.
Os aplicativos RAG têm dois componentes que podem ser iterados para enfrentar os desafios de qualidade: o pipeline de dados e a cadeia. É tentador supor uma divisão clara entre problemas de recuperação (basta atualizar o pipeline de dados) e problemas de geração (atualizar a cadeia RAG). No entanto, a realidade é mais sutil. A qualidade da recuperação pode ser influenciada tanto pelo pipeline de dados (por exemplo, estratégia de análise/chunking, estratégia de metadados, modelo de incorporação) quanto pela cadeia RAG (por exemplo, transformações de consulta do usuário, número de chunks recuperados, reclassificação). Da mesma forma, a qualidade da geração será invariavelmente afetada pela recuperação deficiente (por exemplo, informações irrelevantes ou ausentes que afetam a saída do modelo).
Essa sobreposição sublinhou a necessidade de uma abordagem holística para o aprimoramento da qualidade do RAG. Ao entender quais componentes devem ser alterados na cadeia do pipeline de dados e do RAG e como essas alterações afetam as soluções gerais, o senhor pode fazer atualizações direcionadas para melhorar a qualidade do resultado do RAG.
Considerações sobre a qualidade do pipeline de dados
considerações importantes sobre o site 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 fragmentação e tamanho de partes).
Os metadados (como título da seção ou título do documento) extraídos sobre cada documento e/ou parte. Como esses metadados são incluídos (ou não incluídos) em cada bloco.
O modelo de incorporação usado para converter texto em representações vetoriais para pesquisa por similaridade.
Cadeia RAG
A escolha do LLM e seus parâmetros (por exemplo, temperatura e tokens máximos).
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 versus pesquisa híbrida versus semântica, reescrever a consulta do usuário, transformar a consulta de um usuário em filtros ou reclassificar).
Como formatar o prompt com o contexto recuperado para orientar o LLM em direção a um resultado de qualidade.