Cadeia RAG para inferência
Este artigo descreve o processo que ocorre quando o usuário envia uma solicitação ao aplicativo RAG em uma configuração online. Uma vez que os dados tenham sido processados pelo pipeline de dados, eles são adequados para uso no aplicativo RAG. A série ou cadeia de etapas invocadas no momento da inferência é comumente chamada de cadeia RAG.
- (Opcional) Pré-processamento da consulta do usuário: Em alguns casos, a consulta do usuário é pré-processada para torná-la mais adequada para a consulta ao banco de dados de vetores. Isso pode envolver a formatação da consulta em um modelo, o uso de outro modelo para reescrever a solicitação ou a extração de palavras-chave para ajudar na recuperação. O resultado dessa etapa é uma consulta de recuperação que será usada na etapa de recuperação subsequente.
- Recuperação: Para recuperar informações de suporte do banco de dados vetorial, a consulta de recuperação é traduzida em uma incorporação usando o mesmo modelo de incorporação que foi usado para incorporar as partes do documento durante a preparação dos dados. Essas incorporações permitem a comparação da similaridade semântica entre a consulta de recuperação e as partes do texto não estruturadas, usando medidas como a similaridade de cosseno. Em seguida, as partes são recuperadas do banco de dados de vetores e classificados com base em sua semelhança com a solicitação inserida. Os principais resultados (mais semelhantes) são retornados.
- Aumento de prompt: O prompt que será enviado ao LLM é formado aumentando a consulta do usuário com o contexto recuperado, em um modelo que instrui o modelo como usar cada componente, muitas vezes com instruções adicionais para controlar o formato da resposta. O processo de iterar sobre o modelo de prompt correto a ser usado é conhecido como engenharia de prompt.
- Geração do LLM: O LLM usa o prompt aumentado, que inclui a consulta do usuário e os dados de suporte recuperados, como entrada. Em seguida, gera uma resposta que se baseia no contexto adicional.
- (Opcional) Pós-processamento: A resposta do LLM pode ser processada adicionalmente para aplicar lógica de negócios, adicionar citações ou refinar o texto gerado com base em regras ou restrições predefinidas.
Assim como no pipeline de dados do aplicativo RAG, há muitas decisões de engenharia consequentes que podem afetar a qualidade da cadeia RAG. Por exemplo, determinar quantas partes devem ser recuperadas na etapa 2 e como combiná-los com a consulta do usuário na etapa 3 pode afetar significativamente a capacidade do modelo de gerar respostas de qualidade.
Em toda a cadeia, várias proteções podem ser aplicadas para garantir a conformidade com as políticas da empresa. Isso pode envolver a filtragem de solicitações apropriadas, a verificação das permissões do usuário antes de acessar as fontes de dados e a aplicação de técnicas de moderação de conteúdo às respostas geradas.