Análise de Dados com REPL Tool e LLM usando LangGraph

Introdução

Com o avanço recente dos modelos de linguagem de grande porte (LLMs), tornou-se possível automatizar partes significativas do processo de análise de dados. Desde a importação e transformação de dados até a geração de a compreensão e visualizações, os LLMs agora conseguem atuar como analistas de dados autônomos.

Essa transformação é viabilizada por frameworks como LangChain e LangGraph, que permitem combinar LLMs com ferramentas externas (tools), como bancos de dados, navegadores ou interpretadores de código Python — como o REPL-Tool.

Neste post, vamos mostrar como você pode criar um agente que interpreta e executa código Python em tempo real, utilizando o REPL-Tool e um LLM da família Gemini. Começamos com um exemplo genérico e, em seguida, aplicamos a mesma estrutura à análise econômica de uma série histórica do IPCA.

Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.

Objetivo

Nosso objetivo aqui é demonstrar, de forma didática, como construir um agente com:

  • Um modelo de linguagem (Gemini 2.0 Flash) capaz de raciocinar e gerar código;
  • Uma ferramenta Python REPL, que executa esse código em tempo real;
  • LangChain, que orquestra a integração entre ferramentas e LLMs;
  • LangGraph, que organiza essa lógica de execução dentro de um fluxo baseado em grafos.

No final, teremos um pipeline capaz de analisar dados de forma autônoma: o LLM pensa, escreve o código, executa, observa os resultados e itera. Tudo isso seguindo o ciclo ReAct (Pensamento → Ação → Observação).

O que é o Python REPL-Tool?

Antes de iniciar, precisamos definir o que é, e como funciona a ferramenta de interpretador de código para LLMs.

O REPL-Tool (Read-Eval-Print Loop) é uma ferramenta da LangChain que permite a um LLM executar código Python dinamicamente.

Ao ser combinada com um modelo de linguagem, o agente passa a ser capaz de:

  1. Gerar código Python com base em uma tarefa;
  2. Executar esse código automaticamente;
  3. Observar os resultados da execução;
  4. Iterar conforme necessário até alcançar o objetivo.

Essa ferramenta é extremamente útil para análises exploratórias, manipulação de DataFrames, criação de gráficos e até mesmo ajustes de modelos econométricos simples.

LangGraph e LangChain

Antes de apresentar o exemplo mínimo, vamos iniciar brevemente os frameworks LangGraph e LangChain.

LangChain é uma estrutura de código aberto para desenvolver aplicações baseadas em grandes modelos de linguagem (LLMs). Ele fornece um conjunto de ferramentas e componentes para conectar LLMs a fontes de dados externas, personalizar modelos e criar aplicações mais inteligentes e eficientes. Essencialmente, LangChain age como um "orquestrador" para esses modelos, permitindo que eles acessem e processem informações de diversas fontes e realizem tarefas complexas.

Já o LangGraph é uma biblioteca complementar ao LangChain que organiza a execução de agentes dentro de um grafo de estados. Em vez de depender de sequências lineares (como as chains), o LangGraph permite:

  • Controlar a lógica de decisão com mais clareza;
  • Repetir etapas de forma automática;
  • Construir workflows cíclicos que imitam o comportamento humano.

Essa abordagem é ideal para o padrão ReAct de agentes autônomos, em que o modelo "pensa", "age" e "observa" antes de tomar a próxima decisão.

Exemplo 1: Análise exploratória com LLM e REPL

Como exemplo inicial, vamos construir um agente que recebe uma base de dados genérica (como o iris.csv) e realiza uma análise exploratória simples. O fluxo será o seguinte:

  1. O usuário envia um prompt.
  2. O agente decide carregar os dados com pandas.
  3. Calcula a matriz de correlação.
  4. Gera um gráfico.
  5. Retorna uma explicação interpretando o resultado.

Esse tipo de tarefa é útil para validar se o REPL-Tool está funcionando corretamente e se o LLM consegue iterar sobre as respostas com autonomia.

Assim, usando Gemini 2.0 Flash como Modelo LLM e LangGraph para executar as ações, obtemos os seguintes resultados:

O gráfico de correlação

heatmap dataset iris - construído pelo LLM com REPL Tool

? Resposta final do agente:

O código carregou o conjunto de dados Iris de um URL, removeu duplicatas, removeu a coluna 'species' (já que a função de correlação só pode ser aplicada a colunas numéricas), calculou a matriz de correlação entre as colunas restantes e gerou um mapa de calor para visualizar as correlações. O mapa de calor exibe as relações de correlação entre as diferentes variáveis. Por exemplo, uma cor mais clara pode indicar uma correlação positiva alta, enquanto uma cor mais escura pode indicar uma correlação negativa ou nenhuma correlação. Analisando as anotações no mapa de calor, você pode identificar quais variáveis são fortemente correlacionadas umas com as outras.

Exemplo 2: Análise econômica com IPCA

Após validar o pipeline com um exemplo genérico, aplicamos o mesmo fluxo a uma análise macroeconômica real: a série histórica do IPCA (Índice Nacional de Preços ao Consumidor Amplo), obtida via API do Banco Central.

Neste exemplo, o usuário pode enviar um prompt como:

"""

Carregue a série histórica da variação mensal do IPCA (código SGS 433) desde 2010, utilizando a biblioteca python-bcb.

    Em seguida, execute as seguintes tarefas:
    - Verifique se há indícios de aceleração inflacionária nos últimos meses, comparando médias móveis;
    - Gere um gráfico da série temporal usando matplotlib com destaque visual para os últimos 12 meses;
    - Escreva uma conclusão interpretando os resultados da análise.
    Atenção: Use apenas bibliotecas Python padrão como pandas, matplotlib e numpy, e comente os passos executados, se possível.

"""

Com base nisso, o agente realizará:

  1. Pensamento: Decide que precisa carregar os dados do IPCA.
  2. Ação: Executa código que utiliza a biblioteca para baixar a série.
  3. Observação: Confere se os dados foram carregados corretamente.
  4. Em seguida, gera um gráfico da inflação ao longo do tempo e calcula a média móvel.
  5. Finaliza escrevendo uma análise textual automática interpretando os dados.

Esse tipo de automação pode ser extremamente útil para economistas que desejam prototipar análises ou automatizar relatórios frequentes.

variação mensal IPCA - construído pelo LLM com REPL Tool

? Resposta final do agente: A análise da série histórica do IPCA desde 2010, com foco nos últimos meses, revela o seguinte: 1. **Média Móvel:** A comparação entre as médias móveis de 3 e 12 meses indica que não há uma aceleração inflacionária clara nos últimos meses, uma vez que a média móvel de 3 meses não se mantém acima da de 12 meses. 2. **Gráfico:** O gráfico da série temporal do IPCA permite visualizar a evolução da inflação ao longo do tempo, com destaque para os últimos 12 meses. 3. **Conclusão:** Portanto, com base nos dados analisados e nas médias móveis, não se pode afirmar que há uma tendência de aceleração inflacionária recente.

Vantagens da abordagem

Interação natural via linguagem

Usuários sem conhecimento em programação podem descrever a tarefa em linguagem natural.

Código auditável

O código gerado é visível e pode ser editado ou reutilizado.

Iteração contínua

O agente pode refinar suas análises com base nos próprios resultados.

Modularidade com LangGraph

Fluxos mais robustos e fáceis de manter, especialmente em pipelines econômicos com várias etapas.

Considerações finais

A combinação entre LangChain, LangGraph, Python REPL e modelos como Gemini 2.0 Flash oferece um novo paradigma para a análise de dados: mais flexível, acessível e automatizado. Ao transformar o LLM em um analista que pensa e executa código de forma autônoma, você passa a contar com uma ferramenta útil para agilizar diagnósticos e gerar análises econômicas rápidas.

Quer aprender mais?

Conheça nossa Formação do Zero à Análise de Dados Econômicos e Financeiros usando Python e Inteligência Artificial. Aprenda do ZERO a coletar, tratar, construir modelos e apresentar dados econômicos e financeiros com o uso de Python e IA.

Referências

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como Criar um Agente Analista para Dados da Inflação com LangGraph

Este post mostra como automatizar a análise da inflação brasileira com o uso de agentes inteligentes. Utilizando o LangGraph, integramos dados do IPCA, núcleos de inflação e grupos do índice para criar um sistema capaz de gerar análises econômicas automatizadas com base em consultas em linguagem natural.

Como Criar um Agente para Análise da Atividade Econômica com LangGraph

Este post mostra como automatizar a análise da atividade econômica brasileira com agentes inteligentes. Utilizando o framework LangGraph e dados do IBGE e Banco Central, construímos um sistema capaz de gerar respostas analíticas a partir de perguntas em linguagem natural, unindo automação de consultas SQL e interpretação econômica.

Introdução ao LangGraph

LangGraph é um framework em Python desenvolvido para gerenciar o fluxo de controle de aplicações que integram um modelo de linguagem (LLM). Com ele podemos construir Agentes de IA robustos e previsíveis.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.