top of page

Análise de Negócios Baseada em IA Generativa com Ollama, LLM, RAG e Google BigQuery

  • Foto do escritor: Marco Antônio de Andrade
    Marco Antônio de Andrade
  • 23 de fev.
  • 3 min de leitura


O objetivo desse projeto é criar um chatbot que roda localmente e acessa um banco de dados na nuvem para fornecer respostas inteligentes com base em dados organizacionais. Ele funciona como um "ChatGPT" conectado ao banco de dados da empresa, permitindo que os usuários consultem informações estratégicas de forma interativa e dinâmica.


A principal vantagem desse modelo é a integração entre IA generativa e dados internos, tornando a análise mais contextualizada e relevante para a organização. Ele combina diversas técnicas, e para um melhor entendimento, apresentarei de forma resumida alguns dos conceitos utilizados:


  1. LLM (Large Language Model) - Ollama.

    Um LLM (Large Language Model) é um modelo de inteligência artificial treinado em grandes volumes de dados textuais para compreender, gerar e processar linguagem natural de forma avançada. Esses modelos são a base de chatbots, assistentes virtuais e ferramentas de IA generativa, como ChatGPT, Claude e Gemini. Para o projeto, utilizei o modelo de IA generativa Llama 3.2. Ele pode ser obtido gratuitamente através do link (https://ollama.com/library/llama3.2) , sendo que também é necessário instalar a plataforma para o modelo rodar (https://ollama.com/).


  2. RAG (Retrieval-Augmented Generation).

    Técnica que melhora a geração de respostas ao buscar informações relevantes em um banco de dados antes de gerar a resposta final. Isso garante que a IA utilize dados atualizados e específicos da empresa. Exemplificando: imagine um chatbot de suporte ao cliente para uma loja online.

    • Sem RAG: Se perguntarmos "Qual é o status do meu pedido?", a IA pode responder de forma genérica: "Os pedidos geralmente são entregues em 5 a 7 dias úteis."

    • Com RAG: A IA consulta o banco de dados da loja e responde com informações personalizadas: "Seu pedido #12345 foi enviado ontem e está previsto para entrega amanhã."


  3. Google BigQuery.

    Para esse projeto, utilizamos o banco de dados na nuvem Google Big Query, que armazena os relatórios e fornece respostas rápidas às consultas da IA. Esse processo também poderia ser realizado através de uma consulta direta a um banco de dados local. No caso do GBQ, o desafio foi fazer com que a máquina local acessasse os dados na nuvem. Nessa etapa também foi desenvolvido um script em Python para alimentar os dados no GBQ, dessa forma, é possível automatizar o processo que alimenta o banco de dados.


  4. Embeddings e Vetorização.

    Quando um usuário faz uma pergunta ao chatbot, como ele sabe qual relatório contém a resposta mais relevante? Aqui entra a vetorização, um processo que transforma textos em números para que o computador possa entender e comparar. Funciona dessa forma:

    1. Cada relatório é convertido em um conjunto de números (chamado de vetor) usando um modelo chamado sentence-transformers/all-MiniLM-L6-v2.

    2. Esses vetores representam o significado do texto e permitem que o chatbot compare rapidamente as informações armazenadas com a pergunta do usuário.

    3. Quando alguém faz uma pergunta, o chatbot busca os vetores mais parecidos e encontra o relatório mais relevante.

    Imagine uma biblioteca digital.

    • Sem vetorização: Você precisaria ler cada livro para encontrar a resposta.

    • Com vetorização: O sistema já sabe quais livros são mais parecidos com sua pergunta e te mostra os mais relevantes em segundos.


  1. Streamlit.

    Framework que cria a interface interativa do chatbot, permitindo que os usuários enviem perguntas e recebam respostas em tempo real.


Através da combinação desses conceitos foi possível o desenvolvimento desse chatbot adaptado da Data Science Academy, que diferentemente de um chatbot genérico, utiliza dados internos do Google BigQuery. Entre as vantagens:


  • Em vez de procurar manualmente nos relatórios, os usuários podem fazer perguntas e obter respostas diretas;

  • A IA busca os dados mais relevantes e atualizados no banco de dados;

  • A base de dados pode ser atualizada constantemente, garantindo que a IA sempre trabalhe com informações recentes.

  • Utiliza tecnologias acessíveis, como Ollama (LLM), RAG, embeddings e Google BigQuery.

  • Como os dados ficam armazenados no próprio ambiente da empresa (BigQuery), há um controle maior sobre a privacidade e segurança das informações.


Esse chatbot pode ter diversas aplicações como no atendimento ao cliente para respostas rápidas de dúvidas sobre produtos e serviços, em gestão/finanças para consultas sobre faturamento, despesas e rentabilidade e internamente por colaboradores para conteúdos e procedimentos internos.


E na sua empresa, qual seria a aplicação? Entre em contato para mais detalhes de como essa aplicação pode gerar valor para o seu negócio.





Comments


bottom of page