Cadeia RAG para inferência

Este artigo descreve o processo que ocorre quando o usuário envia uma solicitação ao aplicativo RAG em um ambiente 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 os passos que são invocados no momento da inferência é comumente chamada de cadeia RAG.

Diagrama da cadeia RAG invocada na inferência.
  1. (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 padrão, o uso de outro modelo para reescrever a solicitação ou a extração de palavras-chave para ajudar na recuperação. O resultado desse passo é uma consulta de recuperação que será usada no passo de recuperação subsequente.

  2. 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 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 de vetores e classificados com base em sua semelhança com a solicitação incorporada. Os principais resultados (mais semelhantes) são retornados.

  3. Aumento do prompt: O prompt que será enviado para o site LLM é formado pelo aumento da consulta do usuário com o contexto recuperado, em um padrão que instrui o modelo a 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.

  4. 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 que se baseia no contexto adicional.

  5. (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 no passo 2 e como combiná-los com a consulta do usuário no passo 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.