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 on-line. 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 que são 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 consultar o banco de dados vetorial. Isso pode envolver a formatação da consulta em um padrão, o uso de outro modelo para reescrever a solicitação ou a extração de palavras-chave para ajudar na recuperação. A saída dessa etapa é uma consulta de recuperação que será usada na etapa de recuperação subsequente.
- Recuperação: Para recuperar informações de apoio 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 os blocos de documentos durante a preparação dos dados. Essas incorporações permitem a comparação da semelhança semântica entre a consulta de recuperação e os pedaços de texto não estruturados, usando medidas como similaridade de cosseno. Em seguida, os blocos são recuperados do banco de dados vetoriais e classificados com base na semelhança entre eles e a solicitação incorporada. Os principais resultados (mais semelhantes) são retornados.
- Aumento do prompt: O prompt que será enviado para o 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, muitas vezes com instruções adicionais para controlar o formato da resposta. O processo de iteração do padrão de prompt correto a ser usado é chamado de 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, ele gera uma resposta baseada no contexto adicional.
- (Opcional) Pós-processamento: A resposta do LLM pode ser processada posteriormente para aplicar lógica comercial 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, há muitas decisões de engenharia consequentes que podem afetar a qualidade da cadeia do RAG. Por exemplo, determinar quantos blocos devem ser recuperados 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 compliance 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 a fonte de dados e a aplicação de técnicas de moderação de conteúdo às respostas geradas.