Partilhar via


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

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

Essa abordagem é especialmente valiosa para responder a perguntas sobre informações proprietárias, que mudam frequentemente ou que são específicas do domínio.

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

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 dados de conhecimento externa, como um repositório vetorial, pesquisa de palavras-chave ou banco de dados SQL. O objetivo é obter dados de suporte para a resposta do LLM.
  2. Enriquecimento de Dados: Os dados de suporte são combinados ao pedido do utilizador, geralmente usando um modelo com formatação adicional e instruções para o LLM, para gerar um prompt.
  3. Geração: O prompt é passado para o LLM de modo a 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 da RAG

A RAG melhora os LLMs das seguintes maneiras:

  • Conhecimento proprietário: o RAG pode incluir informações proprietárias não usadas inicialmente para treinar o LLM, como memorandos, e-mails e documentos para responder a perguntas específicas do domínio.
  • Informação atualizada: Um aplicativo RAG pode fornecer ao LLM informações de uma base de conhecimento atualizada.
  • Citando fontes: o RAG permite que LLMs citem fontes específicas, permitindo que os usuários verifiquem a precisão factual das respostas.
  • Listas de segurança de dados e 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

Uma aplicação RAG típica envolve várias etapas:

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

  2. Cadeia RAG (Recuperação, Aprimoramento, 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.
    • Gere 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 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 da aplicação RAG.

Tipos de dados RAG: estruturados e não estruturados

A arquitetura RAG pode trabalhar com dados de suporte não estruturados ou estruturados. Os dados que você usa com a RAG dependem do seu caso de uso.

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

  • Ficheiros PDF
  • 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.

  • Registos de clientes num 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 e monitorização

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

O RAG sobre dados não estruturados tem muitos componentes que afetam a qualidade. Por exemplo, alterações na formatação de dados podem influenciar as partes recuperadas 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 Mosaic AI Agent Evaluation (MLflow 2).

RAG no Azure Databricks

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

Próximos passos