Compartilhar via


RAG (Geração Aumentada de Recuperação) no Azure Databricks

A RAG (geração aumentada de recuperação) é uma técnica poderosa que combina LLMs (modelos de linguagem grande) com recuperação de dados em tempo real para gerar respostas mais precisas, up-to-date e contextualmente relevantes.

Essa abordagem é especialmente valiosa para responder perguntas sobre informações proprietárias, com alterações frequentes ou específicas do domínio.

O que é geração aumentada por recuperação?

Em sua forma mais simples, um agente RAG faz o seguinte:

  1. Recuperação: a solicitação do usuário é usada para consultar uma base de dados de conhecimento externa, como um repositório de vetores, pesquisa de palavra-chave ou banco de dados SQL. A meta é obter os dados de suporte necessários para a resposta do LLM.
  2. Augmentação: os dados de suporte são combinados com a solicitação do usuário, geralmente usando um modelo com formatação e instruções adicionais para o LLM, para criar um prompt.
  3. Geração: o prompt é passado para a LLM para gerar uma resposta à solicitação do usuário.

O fluxo de um aplicativo RAG da solicitação do usuário para a recuperação e resposta de dados.

Benefícios do RAG

O RAG melhora as LLMs das seguintes maneiras:

  • Conhecimento proprietário: RAG pode incluir informações proprietárias não usadas inicialmente para treinar o LLM, como memorandos, emails e documentos para responder a perguntas específicas do domínio.
  • Informações atualizadas: Um aplicativo RAG pode fornecer ao LLM informações de uma base de dados de conhecimento atualizada.
  • Citando fontes: o RAG permite que os LLMs citem fontes específicas, permitindo que os usuários verifiquem a precisão factual das respostas.
  • ACL (listas de controle de acesso) e segurança de dados: a etapa de recuperação pode ser projetada para recuperar seletivamente informações pessoais ou proprietárias com base nas credenciais do usuário.

Componentes RAG

Um aplicativo RAG típico envolve vários estágios:

  1. Pipeline de dados: pré-processar e indexar documentos, tabelas ou outros dados para recuperação rápida e precisa.

  2. Cadeia RAG (recuperação, ampliação, geração): Chame uma série (ou cadeia) de etapas para:

    • Entenda a pergunta do usuário.
    • Recuperar dados de suporte.
    • Melhore o prompt com dados de suporte.
    • Gere uma resposta de uma LLM usando o prompt aumentado.
  3. Avaliação e monitoramento: avalie o aplicativo RAG para determinar sua qualidade, custo e latência para garantir que ele atenda aos seus requisitos de negócios.

  4. Governança e LLMOps: acompanhe e gerencie o ciclo de vida de cada componente, incluindo linhagem de dados e controles de acesso.

Diagrama de componentes do aplicativo RAG.

Tipos de dados RAG: estruturados e não estruturados

A arquitetura RAG pode funcionar com dados de suporte não estruturados ou estruturados. Os dados usados com o RAG dependem do caso de uso.

Dados não estruturados: dados sem uma estrutura ou organização específica.

  • PDFs
  • Documentos do Google/Office
  • Wikis
  • Imagens
  • Vídeos

Dados estruturados: dados tabulares organizados em linhas e colunas com um esquema específico, como tabelas em um banco de dados.

  • Registros de clientes em um sistema de BI ou Data Warehouse
  • Dados de transação de um banco de dados SQL
  • Dados de APIs de aplicativo (por exemplo, SAP, Salesforce etc.)

Avaliação e monitoramento

A avaliação e o monitoramento ajudam a determinar se o aplicativo RAG atende aos requisitos de qualidade, custo e latência. A avaliação ocorre durante o desenvolvimento, enquanto o monitoramento ocorre quando o aplicativo é implantado em produção.

O RAG sobre dados não estruturados tem muitos componentes que afetam a qualidade. Por exemplo, as alterações de formatação de dados podem influenciar as partes recuperadas e a capacidade da LLM de gerar respostas relevantes. Portanto, é importante avaliar componentes individuais além do aplicativo geral.

Para obter mais informações, consulte O que é Avaliação do Agente do Mosaic AI?.

RAG no Databricks

O Databricks oferece uma plataforma de ponta a ponta para o desenvolvimento de RAG, incluindo:

Próximas etapas