Gerando respostas precisas e contextualizadas usando LLMs
por Aradhya Chouhan, Uttaran Banerjee, Blake Kleinhans (Xcel Energy) e Hari Purnapatre (Xcel Energy)
Este blog descreve como a Xcel Energy usou o Databricks para criar um chatbot baseado em uma arquitetura de Geração Aumentada de Recuperação (RAG), projetado para otimizar processos como revisões de tarifas e revisões de contratos jurídicos. A Databricks Data Intelligence Platform foi fundamental em todas as fases de desenvolvimento, desde a governança de dados até a implantação. Os recursos da plataforma, incluindo Unity Catalog, Foundation Model APIs, AI Search, MLflow e Model Serving, permitiram que a equipe se concentrasse em refinar a arquitetura RAG e melhorar o desempenho do chatbot. O projeto reduziu significativamente o tempo necessário para as revisões de tarifas e melhorou o acesso aos dados e os insights.
Xcel Energy é uma empresa líder em energia elétrica e gás natural que atende 3,4 milhões de clientes de eletricidade e 1,9 milhão de clientes de gás natural em oito estados: Colorado, Michigan, Minnesota, Novo México, Dakota do Norte, Dakota do Sul, Texas e Wisconsin. A Xcel Energy queria criar um chatbot baseado em uma arquitetura de Geração Aumentada de Recuperação (RAG) aproveitando o Databricks para ajudá-los a otimizar as operações e atender melhor aos seus clientes. Os cientistas de dados da Xcel Energy identificaram vários casos de uso de alto valor para testar, incluindo revisões de processos tarifários, revisões de contratos jurídicos e análises de relatórios de teleconferências de resultados. Como exemplo, à medida que o custo da energia flutua, a Xcel Energy precisa recalibrar suas tarifas para se alinhar aos fatores de mercado, um processo que poderia levar vários meses. Enquanto isso, a liderança da Xcel Energy estava ansiosa para obter insights dos relatórios de teleconferências de resultados sem precisar pesquisar em centenas de páginas de PDFs, e sua equipe jurídica queria acesso rápido a detalhes dos contratos de clientes.
O objetivo da equipe de dados era implementar um sistema de IA generativa escalável e eficiente que pudesse recuperar dados relevantes de um grande corpus de documentos e gerar respostas precisas e conscientes do contexto usando grandes modelos de linguagem (LLMs). Os recursos da Databricks Data Intelligence Platform simplificaram todas as fases do desenvolvimento, desde a governança de dados e integração de modelos até o monitoramento e a implantação. Agora, os processos tarifários baseados em uma revisão de documentações complexas, incluindo relatórios de preços de energia e regulamentações governamentais, levam 2 semanas em vez de até 6 meses.
O Databricks permitiu o rápido desenvolvimento e implantação de nossos chatbots baseados em RAG, melhorando significativamente nosso tempo para gerar valor. A plataforma se integrou perfeitamente às nossas fontes de dados internas e ferramentas de painéis existentes, permitindo que nossa equipe se concentrasse em melhorar a qualidade em vez de configurar a infraestrutura do zero. Além disso, o Databricks facilitou a experimentação com diferentes embeddings e modelos de linguagem para alcançarmos o melhor desempenho possível.—Blake Kleinhans, Cientista de Dados Sênior, Xcel Energy
Um primeiro passo crítico no projeto foi estabelecer métodos eficazes para governança e gerenciamento de dados. Como fornecedora de serviços públicos, a Xcel Energy precisava garantir segurança e governança rigorosas para evitar qualquer risco de vazamento de dados confidenciais ou proprietários. Cada caso de uso exigia uma variedade de documentos, alguns públicos (relatórios de resultados) e outros confidenciais (contratos jurídicos). Databricks Unity Catalog permitiu o gerenciamento centralizado de dados estruturados e não estruturados, incluindo o corpus de documentos para a base de conhecimento do chatbot. Ele forneceu controles de acesso refinados que garantiram que todos os dados permanecessem seguros e em conformidade, uma vantagem significativa para projetos que envolvem dados confidenciais ou proprietários.
Para manter sua plataforma de IA generativa atualizada, os dados relevantes precisavam ser disponibilizados no chatbot baseado em RAG assim que fossem ingeridos. Para a preparação de dados, os Databricks Notebooks e o Apache Spark™ foram aproveitados para processar grandes conjuntos de dados de diversas fontes, incluindo sites governamentais, documentos jurídicos e faturas internas. Os recursos de computação distribuída do Spark permitiram que a equipe ingerisse e pré-processasse documentos rapidamente em seu data lake, permitindo que a Xcel Energy transferisse grandes fluxos de trabalho de dados para um Vector Store em um tempo mínimo.
Os embeddings foram essenciais para o mecanismo de recuperação da arquitetura RAG. A equipe utilizou as Databricks Foundation Model APIs para acessar modelos de embedding de última geração, como o databricks-bge-large-en e o databricks-gte-large-en, que forneceram representações vetoriais de alta qualidade do corpus de documentos. Esses embeddings eliminaram a necessidade de implantar ou gerenciar manualmente a infraestrutura do modelo, simplificando o processo de geração de embeddings.
Os embeddings foram então armazenados no Databricks AI Search, um banco de dados vetorial serverless e altamente escalável integrado ao ambiente Databricks. Isso garantiu uma busca por similaridade eficiente, que formou a espinha dorsal do componente de recuperação do chatbot. A integração perfeita do AI Search ao ecossistema Databricks reduziu significativamente a complexidade da infraestrutura.
A Xcel pôde testar diferentes LLMs usando as Databricks Foundation Model APIs. Essas APIs fornecem acesso a modelos pré-treinados de última geração sem a sobrecarga de gerenciar a implantação ou os recursos de computação. Isso garantiu que os LLMs pudessem ser facilmente incorporados ao chatbot, fornecendo uma geração de linguagem robusta com o mínimo de gerenciamento de infraestrutura.
Sua implantação inicial foi com o Mixtral 8x7b-instruct com comprimento de token de 32k, após testar os modelos Llama 2 e DBRX. O Mixtral, um modelo de mistura esparsa de especialistas (SMoE), igualou ou superou o Llama 2 70B e o GPT 3.5 na maioria dos benchmarks, sendo quatro vezes mais rápido que o Llama 70B em inferência. A Xcel Energy priorizou a qualidade dos resultados e usou o Mixtral até mudar para o Claude Sonnet 3.5 da Anthropic no AWS Bedrock, acessado no Databricks por meio do Agent Bricks AI Gateway e do AI Search para RAG.
O pipeline de RAG foi criado usando o LangChain, um framework poderoso que se integra perfeitamente aos componentes do Databricks. Ao utilizar o Databricks AI Search para busca por similaridade e combiná-lo com a geração de consultas por LLM, a equipe criou um sistema eficiente baseado em RAG capaz de fornecer respostas conscientes do contexto às consultas dos usuários. A combinação do LangChain e do Databricks simplificou o processo de desenvolvimento e melhorou o desempenho do sistema.
O projeto utilizou totalmente o MLflow, uma plataforma de código aberto amplamente adotada para rastreamento de experimentos e gerenciamento de modelos. Usando a integração do MLflow com o LangChain, a equipe conseguiu registrar várias configurações e parâmetros do modelo RAG durante o processo de desenvolvimento. Isso permitiu o versionamento e simplificou a implantação de aplicativos de LLM, fornecendo um caminho claro da experimentação à produção.
Estamos nos aprofundando nos recursos de rastreamento do MLflow. Essa funcionalidade será fundamental para diagnosticar problemas de desempenho e melhorar a qualidade das respostas do nosso chatbot de Atendimento ao Cliente.—Blake Kleinhans, Cientista de Dados Sênior, Xcel Energy
Além disso, o AI Gateway permitiu que a equipe gerenciasse centralmente as credenciais e o acesso aos modelos, possibilitando a alternância eficiente entre LLMs e o controle de custos por meio de limitação de taxa e cache.
A implantação do chatbot foi simplificada usando o Databricks Model Serving. Essa opção de computação serverless forneceu uma solução escalável e econômica para hospedar o chatbot baseado em RAG. Ela permitiu que o modelo fosse exposto como um endpoint de API REST com configuração mínima. O endpoint pôde então ser facilmente integrado a aplicativos de front-end, simplificando a transição do desenvolvimento para a produção.
O Model Serving também permitiu o dimensionamento baseado em GPU, reduzindo a latência e os custos operacionais. Essa escalabilidade foi crucial à medida que o projeto se expandia, permitindo que o chatbot lidasse com cargas crescentes de usuários sem alterações arquitetônicas significativas.
Após a implantação, o Databricks SQL foi usado para implementar soluções de monitoramento. A equipe criou painéis que rastreavam métricas essenciais, como tempos de resposta, volumes de consultas e pontuações de satisfação do usuário. Esses insights foram cruciais para melhorar continuamente o desempenho do chatbot e garantir a confiabilidade a longo prazo.
Ao integrar o monitoramento ao fluxo de trabalho geral, a equipe conseguiu resolver proativamente possíveis problemas e otimizar o desempenho do sistema com base em feedback em tempo real.
A Databricks Data Intelligence Platform permitiu o desenvolvimento e a implantação rápidos do chatbot baseado em RAG, reduzindo significativamente as complexidades normalmente associadas ao gerenciamento de projetos de AI em grande escala. A integração de ferramentas como Unity Catalog, Foundation Model APIs, AI Search, MLflow e Model Serving proporcionou um AI Agent System coeso e de ponta a ponta para a criação de aplicações de GenAI.
Nosso objetivo também é tornar os LLMs mais acessíveis em toda a Xcel, permitindo que as equipes os utilizem para tarefas como marcação, análise de sentimento e quaisquer outras aplicações que possam precisar.—Blake Kleinhans, Cientista de Dados Sênior, Xcel Energy
Ao focar em escalabilidade, simplicidade de infraestrutura e governança de modelos, a plataforma permitiu que a equipe se concentrasse no refinamento da arquitetura RAG e melhorasse facilmente o desempenho do chatbot. Os recursos robustos da plataforma garantiram que o projeto pudesse ser dimensionado de maneira eficiente conforme a demanda dos usuários aumentava, tornando a Databricks a escolha ideal para desenvolver e implantar aplicações avançadas de GenAI. A equipe de ciência de dados da Xcel Energy apreciou a liberdade de atualizar facilmente para LLMs mais avançados à medida que se tornam disponíveis, sem interromper toda a sua arquitetura.
Olhando para o futuro, a Xcel Energy prevê poder expandir ainda mais o uso de ferramentas de GenAI em toda a empresa, democratizando o acesso a dados e insights.
Este post de blog foi escrito em coautoria por Blake Kleinhans (Xcel Energy), Hari Purnapatre (Xcel Energy), Aradhya Chouhan (Databricks) e Uttaran Banerjee (Databricks).
(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original
Assine nosso blog e receba os posts mais recentes diretamente na sua caixa de entrada.