Cadeia RAG para inferência
Este artigo descreve o processo que ocorre quando o usuário envia uma solicitação para a aplicação RAG em um ambiente online. Depois que os dados foram processados pelo pipeline de dados, eles são adequados para uso na aplicação RAG. A série, ou cadeia de passos que são invocados no momento da inferência é comumente referida como a *cadeia RAG*.

- (Opcional) Pré-processamento de consulta do usuário: Em alguns casos, a consulta do usuário é pré-processada para torná-la mais adequada para consultar o banco de dados vetorial. Isso pode envolver a formatação da consulta dentro de um padrão, o uso de outro modelo para reescrever a solicitação ou a extração de palavras-chave para auxiliar na recuperação. O resultado deste passo é uma consulta de recuperação que será usada no passo 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 utilizado para incorporar os blocos de documentos durante a preparação de dados. Essas incorporações permitem a comparação da similaridade semântica entre a consulta de recuperação e os blocos de texto não estruturados, usando medidas como a similaridade de cosseno. Em seguida, os blocos são recuperados do banco de dados vetorial e classificados com base em sua similaridade com a solicitação incorporada. Os resultados principais (mais semelhantes) são retornados.
- Aumento de prompt: o prompt que será enviado ao LLM é formado pelo aumento da consulta do usuário com o contexto recuperado, em um padrão que instrui o modelo sobre como usar cada componente, geralmente com instruções adicionais para controlar o formato da resposta. O processo de iteração sobre o padrão de prompt certo a ser usado é conhecido como engenharia de prompt.
- Geração de LLM: O LLM usa o prompt aumentado, que inclui a consulta do usuário e os dados de suporte recuperados, como entrada. Em seguida, ele gera uma resposta fundamentada no contexto adicional.
- (Opcional) Pós-processamento: A resposta do LLM pode ser processada posteriormente para aplicar lógica de negócios adicional, 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, existem muitas decisões de engenharia importantes que podem afetar a qualidade da cadeia RAG. Por exemplo, determinar quantos blocos recuperar na etapa 2 e como combiná-los com a consulta do usuário na etapa 3 pode impactar significativamente a capacidade do modelo de gerar respostas de qualidade.
Ao longo de toda a cadeia, diversas medidas de segurança podem ser aplicadas para garantir a compliance com as políticas empresariais. Isso pode envolver filtrar solicitações apropriadas, verificar as permissões do usuário antes de acessar fontes de dados e aplicar técnicas de moderação de conteúdo às respostas geradas.