Geração aumentada de recuperação (RAG) e índices (clássicos)

Exibição no momento:Versão do portal Foundry (clássico) - Alternar para a versão do novo portal Foundry

A RAG (geração aumentada por recuperação) é um padrão que associa a pesquisa a LLMs (modelos de linguagem grandes) para que as respostas sejam fundamentadas em dados. Este artigo explica como o RAG funciona no Microsoft Foundry, quais papéis os índices desempenham e como a recuperação agêntica altera os padrões clássicos de RAG.

As LLMs são treinadas em dados públicos disponíveis no momento do treinamento. Se você precisar de respostas com base em seus dados privados ou em informações de alteração frequente, o RAG ajudará você a:

  • Recupere informações relevantes de seus dados (geralmente por meio de um índice).
  • Forneça essas informações ao modelo como dados de aterramento.
  • Gere uma resposta que pode incluir citações de volta ao conteúdo de origem.

O que é RAG?

LLMs (modelos de linguagem grande) como o ChatGPT são treinados em dados públicos da Internet que estavam disponíveis quando o modelo foi treinado. Os dados públicos podem não ser suficientes para suas necessidades. Por exemplo, talvez você queira respostas com base em documentos privados ou talvez precise de informações atualizadas.

O RAG resolve isso recuperando conteúdo relevante de seus dados e incluindo-o na entrada do modelo. Em seguida, o modelo pode gerar respostas baseadas no conteúdo recuperado.

Principais conceitos para RAG:

  • Dados de fundamentação: conteúdo recuperado que você fornece ao modelo para reduzir a suposição.
  • Índice: uma estrutura de dados otimizada para recuperação (palavra-chave, semântica, vetor ou pesquisa híbrida).
  • Inserções: representações numéricas de conteúdo usadas para pesquisa de similaridade de vetor. Consulte Noções básicas sobre inserções.
  • Mensagens e prompts do sistema: instruções que orientam como o modelo usa o conteúdo recuperado. Consulte Engenharia de prompts e Mensagens do sistema de segurança.

Como funciona o RAG?

O RAG segue um fluxo de três etapas:

  1. Recuperar: quando um usuário faz uma pergunta, seu aplicativo consulta um índice ou armazenamento de dados para encontrar conteúdo relevante.
  2. Augment: o aplicativo combina a pergunta do usuário e o conteúdo recuperado (dados de base) em um prompt.
  3. Gerar: o modelo recebe o prompt aumentado e gera uma resposta baseada no conteúdo recuperado, reduzindo as imprecisões e habilitando citações precisas.

Diagrama que mostra uma consulta de usuário, recuperação de um banco de dados e uma resposta fundamentada por modelo.

O que é um índice e por que preciso dele?

O RAG funciona melhor quando você pode recuperar conteúdo relevante de forma rápida e consistente. Um índice ajuda organizando seu conteúdo para uma recuperação eficiente.

Muitas soluções RAG usam um índice que dá suporte a um ou mais desses modos de recuperação:

  • Pesquisa de palavra-chave
  • Pesquisa semântica
  • Pesquisa de vetor
  • Pesquisa híbrida (palavra-chave + vetor, às vezes com classificação semântica)

Um índice também pode armazenar campos que melhoram a qualidade da citação (por exemplo, títulos de documento, URLs ou nomes de arquivo).

Diagrama que mostra a recuperação de um índice e como as passagens recuperadas são adicionadas ao prompt do modelo.

A Foundry pode conectar seu projeto a um serviço Pesquisa de IA do Azure  e índice para recuperação. Dependendo do recurso e da superfície da API que você está usando, essas informações de conexão podem ser representadas como uma conexão de projeto ou uma ID de ativo de índice.

Por exemplo, a versão prévia da API REST do Foundry Project inclui um campo index_asset_id para recursos de índice Pesquisa de IA do Azure . Consulte Foundry Project versão prévia da API REST.

Pesquisa de IA do Azure  é um repositório de índice recomendado para cenários RAG. Pesquisa de IA do Azure  dá suporte à recuperação de dados vetoriais e textuais armazenados em índices de pesquisa e também pode consultar outros destinos se você usar agentic retrieval. Veja O que é Pesquisa de IA do Azure ?.

Agentic RAG: uma abordagem moderna para a recuperação

Os padrões rag tradicionais geralmente usam uma única consulta para recuperar informações de seus dados. A recuperação por meio de agentes, também conhecida como agente RAG, é uma evolução na arquitetura de recuperação que usa um modelo para dividir entradas complexas em várias subconsultas focadas, executá-las em paralelo e retornar dados estruturados de base que funcionam bem com modelos de finalização de chat.

A recuperação por meio de agentes tem várias vantagens em relação ao RAG clássico.

  • Planejamento de consulta com reconhecimento de contexto – usa o histórico de conversas para entender o contexto e a intenção. As perguntas de acompanhamento mantêm o contexto de trocas anteriores, tornando as conversas de vários turnos mais naturais.
  • Execução paralela – executa várias subconsultas focadas simultaneamente para uma melhor cobertura. Em vez de recuperar de uma única consulta sequencialmente, a execução paralela reduz a latência e recupera resultados relevantes mais diversos.
  • Respostas estruturadas – Retorna dados de aterramento, citações e metadados de execução junto com os resultados. Essa saída estruturada torna mais fácil para seu aplicativo citar fontes com precisão e rastrear o raciocínio por trás das respostas.
  • Classificação semântica interna – Garante a relevância ideal dos resultados. A classificação semântica filtra o ruído e prioriza passagens verdadeiramente relevantes, o que é especialmente importante com grandes conjuntos de dados.
  • Síntese de resposta opcional – pode incluir respostas formuladas por LLM diretamente na resposta da consulta. Como alternativa, você pode optar por retornar passagens brutas e verbais para seu aplicativo processar.

Se você estiver usando Pesquisa de IA do Azure  como mecanismo de recuperação, consulte Agentic retrieval e Quickstart: Agentic retrieval.

Escolha abordagem no Foundry

A Foundry dá suporte a vários padrões para trabalhar com dados privados. Escolha com base na complexidade do caso de uso e em quanto controle você precisa:

Introdução ao RAG na Foundry

A implementação do RAG na Foundry normalmente segue este fluxo de trabalho:

  1. Preparar seus dados: Organizar e agrupar seus documentos privados ou base de dados de conhecimento em conteúdo pesquisável
  2. Constale um índice: crie um índice Pesquisa de IA do Azure  ou use outro serviço de recuperação para organizar seu conteúdo para uma pesquisa eficiente
  3. Conectar-se ao Foundry: criar uma conexão do seu projeto do Foundry com seu índice ou serviço de recuperação
  4. Crie seu aplicativo RAG: Integre a recuperação com suas chamadas LLM usando o SDK do Foundry ou as APIs REST
  5. Testar e avaliar: verifique se a qualidade da recuperação é boa e as respostas são precisas e adequadamente referenciadas

Para começar, siga estes tutoriais:

Considerações sobre segurança e privacidade

Os sistemas RAG podem expor conteúdo confidencial se você não projetar cuidadosamente o acesso e as instruções de comando.

  • Aplique o controle de acesso no momento da recuperação. Se você estiver usando Pesquisa de IA do Azure  como fonte de dados, poderá usar o controle de acesso no nível do documento com filtros de segurança.
  • Prefira Microsoft Entra ID em vez de chaves de API para produção. As chaves de API são convenientes para desenvolvimento, mas não são recomendadas para cenários de produção. Para diretrizes do RBAC da Pesquisa de IA do Azure, confira Conectar à Pesquisa de IA do Azure usando funções.
  • Trate o conteúdo recuperado como entrada não confiável. A mensagem do sistema e a lógica do aplicativo devem reduzir o risco de injeção de prompts de documentos e passagens recuperadas. Veja as mensagens do sistema de segurança.

Considerações sobre custo e latência

O RAG adiciona trabalho extra em comparação a uma solicitação apenas para modelo:

  • Custos de recuperação e latência: consultar um índice adiciona viagens de ida e volta e computação.
  • Custos de inserção e latência: a pesquisa de vetor requer inserções no tempo de indexação e, muitas vezes, no momento da consulta.
  • Uso de token: as passagens recuperadas aumentam os tokens de entrada, o que pode aumentar o custo.

Se você estiver usando Pesquisa de IA do Azure , confirme o nível de serviço e os preços antes da distribuição da produção. Se você estiver usando recuperação semântica ou híbrida, analise os preços e limites da Pesquisa de IA do Azure na documentação da Pesquisa de IA do Azure.

Limitações e solução de problemas

Limitações conhecidas

  • A qualidade do RAG depende da preparação do conteúdo, da configuração de recuperação e do design do prompt. A má preparação ou a estratégia de indexação de dados afeta diretamente a qualidade da resposta.
  • Se a recuperação retornar trechos irrelevantes ou incompletos, o modelo ainda poderá gerar respostas incompletas ou imprecisas, apesar da fundamentação.
  • Se você não controlar o acesso ao conteúdo de origem, as respostas fundamentadas poderão vazar informações confidenciais do seu índice de dados.

Desafios comuns e mitigação

  • Qualidade de recuperação ruim: se o índice não estiver retornando passagens relevantes, examine a estratégia de agrupamento de dados, a qualidade do modelo de inserção e a configuração de pesquisa (palavra-chave versus semântica versus híbrida).
  • Alucinação apesar do aterramento: mesmo com o conteúdo recuperado, os modelos ainda podem gerar respostas imprecisas. Ative as citações e utilize mensagens de sistema claras e instruções para direcionar o modelo a utilizar o conteúdo recuperado.
  • Problemas de latência: índices grandes podem atrasar a recuperação. Considere a estratégia de indexação, filtragem e reordenamento para reduzir o volume de passagens processadas.
  • Orçamento de tokens excedido: as passagens recuperadas podem rapidamente consumir os limites de tokens. Implemente filtragem de trechos, classificação ou resumo para manter-se dentro do orçamento.

Para obter diretrizes sobre como avaliar a eficácia do RAG, consulte os tutoriais e os guias de início rápido na seção de conteúdo relacionado abaixo.