Pular para o conteúdo principal

RAG (Retrieval Augmented Generation) em Databricks

A geração aumentada de recuperação (RAG) é uma técnica avançada que combina modelos de linguagem grandes (LLMs) com recuperação de dados tempo-real para gerar respostas mais precisas, atualizadas e contextualmente relevantes.

Essa abordagem é especialmente valiosa para responder a perguntas sobre informações proprietárias, que mudam com frequência ou específicas do domínio.

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

Na forma mais simples, um agente RAG faz o seguinte:

  1. Recuperação : A solicitação do usuário é usada para consultar uma base de conhecimento externa, como um armazenamento de vetores, pesquisa de palavras-chave ou banco de dados SQL. O objetivo é obter dados de apoio para a resposta do LLM.
  2. Aumento : Os dados de suporte são combinados com a solicitação do usuário, geralmente usando um padrão com formatação adicional e instruções para o LLM, para criar um prompt.
  3. Geração : O prompt é passado para o LLM para gerar uma resposta à solicitação do usuário.

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

Benefícios do RAG

O RAG melhora os LLMs das seguintes maneiras:

  • Conhecimento proprietário: o RAG pode incluir informações proprietárias não utilizadas inicialmente para treinar o LLM, como memorandos, e-mails e documentos para responder a perguntas específicas do domínio.
  • Informações atualizadas: Um aplicativo RAG pode fornecer ao site LLM informações de uma base de conhecimento atualizada.
  • Citação de fontes: o RAG permite que os LLMs citem fontes específicas, permitindo que os usuários verifiquem a precisão factual das respostas.
  • Segurança de dados e listas de controle de acesso (ACL): 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 uma recuperação rápida e precisa.

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

    • Entenda a pergunta do usuário.
    • Recupere dados de suporte.
    • Aumente o prompt com dados de suporte.
    • Gerar uma resposta de um LLM usando o prompt aumentado.
  3. Avaliação e monitoramento : Avalie o aplicativo RAG para determinar sua qualidade, custo e latência e garantir que ele atenda aos seus requisitos comerciais.

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

Diagrama dos 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 que você usa com RAG dependem do seu 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 aplicativos (por exemplo, SAP, Salesforce, etc.)

Avaliação & monitoramento

Avaliação e monitoramento ajudam a determinar se sua aplicação RAG atende aos requisitos de qualidade, custo e latência. A avaliação ocorre durante o desenvolvimento, enquanto o monitoramento acontece uma vez que a aplicação é implementada em produção.

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

Para obter mais informações, consulte O que é Mosaic AI Agent Evaluation?

RAG em Databricks

A Databricks oferece uma plataforma de ponta a ponta para o desenvolvimento de RAGs, incluindo:

Próximas etapas