Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A geração aumentada por recuperação (RAG) é um padrão que combina pesquisa com grandes modelos de linguagem (LLMs), de modo a que as respostas estejam fundamentadas nos seus dados. Este artigo explica como o RAG funciona no Microsoft Foundry, que papel desempenham os índices e como a recuperação agentica altera os padrões clássicos do RAG.
Os LLMs são treinados com dados públicos disponíveis no momento da formação. Se precisar de respostas baseadas nos seus dados privados ou em informações frequentemente mutáveis, o RAG ajuda-o:
- Recupere informação relevante dos seus dados (muitas vezes através de um índice).
- Forneça essa informação ao modelo como dados de aterramento.
- Gera uma resposta que inclua citações de volta ao conteúdo de origem.
O que é o RAG?
Grandes modelos de linguagem (LLMs) são treinados com dados públicos da internet que estavam disponíveis quando o modelo foi treinado. Os dados públicos podem não ser suficientes para as suas necessidades. Por exemplo, pode querer respostas baseadas em documentos privados, ou pode precisar de informações atualizadas.
O RAG resolve isto ao recuperar conteúdo relevante dos seus dados e incluí-lo na entrada do modelo. O modelo pode então gerar respostas fundamentadas no conteúdo recuperado.
Conceitos-chave para o RAG:
- Dados de referência: Conteúdo recuperado que forneces ao modelo para reduzir a adivinhação.
- Índice: Uma estrutura de dados otimizada para recuperação (palavra-chave, semântica, vetorial ou pesquisa híbrida).
- Embeddings: Representações numéricas do conteúdo usadas para pesquisa por similaridade vetorial. Veja em Compreender Incorporações.
- Mensagem e sugestões do sistema: Instruções que guiam o modelo na utilização do conteúdo recuperado. Consulte Mensagens de engenharia rápida e sistemas de segurança.
Como funciona o RAG?
O RAG segue um fluxo em três etapas:
- Recuperar: Quando um utilizador faz uma pergunta, a sua aplicação consulta um índice ou armazenamento de dados para encontrar conteúdo relevante.
- Reforço: A aplicação combina a pergunta do utilizador e o conteúdo recuperado (dados de base) num prompt.
- Gerar: O modelo recebe o prompt aumentado e gera uma resposta baseada no conteúdo recuperado, reduzindo imprecisões e permitindo citações precisas.
O que é um índice e porque precisa dele
O RAG funciona melhor quando consegues recuperar conteúdo relevante de forma rápida e consistente. Um índice ajuda a organizar o seu conteúdo para uma recuperação eficiente.
Muitas soluções RAG utilizam um índice que suporta um ou mais destes modos de recuperação:
- Pesquisa por palavras-chave
- Pesquisa semântica
- Pesquisa vetorial
- Pesquisa híbrida (palavra-chave + vetor, por vezes com classificação semântica)
Um índice também pode armazenar campos que melhoram a qualidade das citações (por exemplo, títulos de documentos, URLs ou nomes de ficheiros).
A Foundry pode ligar o seu projeto a um serviço Pesquisa de IA do Azure e indexar para recuperação. Dependendo da funcionalidade e da superfície da API que está a usar, esta informação de ligação pode ser representada como uma ligação de projeto ou um ID de ativo indexado.
O Pesquisa de IA do Azure é um serviço de indexação recomendado para cenários de RAG. O Pesquisa de IA do Azure suporta a recuperação sobre dados vetoriais e textuais armazenados em índices de pesquisa, e também pode consultar outros alvos se usar recuperação agentiva. Ver O que é Pesquisa de IA do Azure?.
RAG agentivo: abordagem moderna à recuperação
Os padrões RAG tradicionais usam frequentemente uma única consulta para obter informação dos seus dados. Recuperação agêncica, também conhecida como RAG agêntica, é uma evolução na arquitetura de recuperação que utiliza um modelo para decompor entradas complexas em múltiplas subconsultas focadas, executá-las em paralelo e devolver dados estruturalmente fundamentados que funcionam bem com modelos de conclusão de chat.
A recuperação agentica oferece várias vantagens em relação ao RAG clássico:
- Planeamento de consultas consciente do contexto: Utiliza o histórico das conversas para compreender o contexto e a intenção. As perguntas de seguimento mantêm o contexto das trocas anteriores, tornando as conversas com múltiplas voltas mais naturais.
- Execução paralela: Executa múltiplas subconsultas focadas simultaneamente para melhor cobertura. Em vez de recuperar de uma única consulta sequencialmente, a execução paralela reduz a latência e recupera resultados relevantes mais diversificados.
- Respostas estruturadas: Devolve dados fundamentados, citações e metadados de execução juntamente com os resultados. Este resultado estruturado facilita que a sua aplicação cite fontes com precisão e trace o raciocínio por detrás das respostas.
- Classificação semântica incorporada: Garante a relevância ótima dos resultados. A classificação semântica filtra o ruído e prioriza passagens verdadeiramente relevantes, o que é especialmente importante em grandes conjuntos de dados.
- Síntese opcional de respostas: Pode incluir respostas formuladas por LLM diretamente na resposta da consulta. Em alternativa, pode optar por devolver passagens brutas e literais para a sua candidatura processar.
Se estiver a usar Pesquisa de IA do Azure como motor de recuperação, veja Agentic retrieval e Quickstart: Agentic retrieval.
Escolha uma abordagem na Foundry
O Foundry suporta múltiplos padrões para trabalhar com dados privados. Escolha com base na complexidade do seu caso de uso e no grau de controlo que precisa:
- Use o RAG quando precisar de respostas baseadas em dados privados ou em mudanças frequentes.
- Use o ajuste fino quando precisar de alterar o comportamento do modelo, o estilo ou o desempenho da tarefa, em vez de adicionar conhecimento novo.
- Usa ferramentas de agente quando estiveres a construir um agente que precisa de recuperação como ferramenta. Por exemplo, consulte a ferramenta de pesquisa de ficheiros para agentes. Para construir uma aplicação RAG completa com controlo total, use o Foundry SDK.
Fluxo de trabalho RAG na Foundry
Uma implementação RAG no Foundry normalmente cobre estas fases:
- Prepare os seus dados: Organize e agrupe os seus documentos pessoais ou base de conhecimento em conteúdos pesquisáveis.
- Configure um índice: Crie um índice Pesquisa de IA do Azure ou use outro serviço de recuperação para organizar o seu conteúdo e facilitar uma pesquisa eficiente.
- Ligue-se ao Foundry: Crie uma ligação do seu projeto Foundry ao seu índice ou serviço de recuperação.
- Constrói a tua aplicação RAG: Integra a recuperação com as chamadas de modelo usando o SDK Foundry ou APIs REST.
- Teste e avalie: Verifique se a qualidade da recolha é boa e que as respostas são precisas e devidamente citadas.
Considerações de segurança e privacidade
Os sistemas RAG podem expor conteúdos sensíveis se não desenhares cuidadosamente o acesso e os prompts.
- Aplicar controlo de acesso no momento da recuperação. Se estiveres a usar o Pesquisa de IA do Azure como fonte de dados, podes usar controlo de acesso ao nível do documento com filtros de segurança.
- Prefiro Microsoft Entra ID em vez de chaves 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 orientações sobre RBAC do Pesquisa de IA do Azure, veja Liga-se ao Pesquisa de IA do Azure usando funções.
- Trate o conteúdo recuperado como entrada não confiável. A lógica das mensagens do sistema e da aplicação deve reduzir o risco de injeção de comandos a partir de documentos e passagens recuperadas. Ver mensagens do sistema de segurança.
Considerações de custo e latência
O RAG acrescenta trabalho extra comparado com um pedido apenas de modelo:
- Custos de recuperação e latência: Consultar um índice adiciona viagens de ida e volta e computação.
- Custos de embedding e latência: A pesquisa vetorial requer embeddings na altura da indexação e, muitas vezes, na altura da consulta.
- Utilização de tokens: Passagens recuperadas aumentam os tokens de entrada, o que pode aumentar o custo.
Se estiveres a usar o Pesquisa de IA do Azure, confirma o nível de serviço e os preços antes do lançamento em produção. Se estiver a usar recuperação semântica ou híbrida, consulte os preços e limites do Pesquisa de IA do Azure na documentação do Pesquisa de IA do Azure.
Limitações e resolução de problemas
Limitações conhecidas
- A qualidade do RAG depende da preparação do conteúdo, configuração de recuperação e design do prompt. Uma má preparação ou estratégia de indexação de dados impacta diretamente a qualidade da resposta.
- Se a recuperação devolver passagens irrelevantes ou incompletas, o modelo pode ainda assim produzir respostas incompletas ou imprecisas apesar da fundamentação.
- Se não controlar o acesso ao conteúdo de origem, respostas fundamentadas podem divulgar informações sensíveis do seu índice.
Desafios comuns e mitigação
- Má qualidade de recuperação: Se o seu índice não estiver a devolver passagens relevantes, reveja a sua estratégia de fragmentação de dados, a qualidade do modelo de incorporação e a configuração de pesquisa (palavra-chave vs. semântica vs. híbrido).
- Alucinação, mesmo com integração de contexto: Mesmo ao recuperar conteúdo, os modelos ainda podem gerar respostas imprecisas. Ative as citações e utilize mensagens e prompts claros do sistema para instruir o modelo a seguir o conteúdo recuperado.
- Problemas de latência: Índices grandes podem atrasar a recuperação. Considere a estratégia de indexação, filtragem e reclassificação para reduzir o volume de passagens processadas.
- Limite de tokens excedido: As passagens recuperadas podem rapidamente consumir os limites de token. Implemente filtragem, priorização ou resumo para manter-se dentro do orçamento.
Para orientações sobre a avaliação da eficácia do RAG, consulte os tutoriais e quickstarts na secção de conteúdos relacionados abaixo.