Criando um Dashboard de Análise de Sentimento de Demonstrativos de Empresas no Python

Os “AI Assistants” são ferramentas que permitem automatizar e agilizar o processo de análise de dados e tomada de decisão. Neste artigo, mostramos como usar IA Generativa para criar um AI Assistant simples que analisa os resultados financeiros de empresas brasileiras usando o Python + Shiny.

A inteligência artificial generativa (IA Generativa) permite criar soluções que automatizam grande parte dos processos manuais de diversas profissões. Na economia, finanças e análise de dados não é diferente. Desde a coleta de dados, passando pela análise e apresentação, podemos usar IA Generativa para economizar tempo e ganhar produtividade.

Quer ver a vídeoaula do tutorial deste exercício? E receber o código que o produziu? 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.

Neste artigo, mostramos como criar um AI Assistant, que é um “funcionário-robô” encarregado de ler e analisar os resultados financeiros de empresas brasileiras. A ideia é automatizar o processo de coleta, tratamento, análise e apresentação de dados que comumente agentes do mercado financeiro fazem com as diferentes empresas do mercado a cada trimestre

Print Screen mostrando o resultado do Dashboard Contábil, exibindo gráficos 'gauge' e texto com a análise do LLM.

Este AI Assistant trabalha dentro de uma dashboard Shiny, para facilitar a experiência e acesso do usuário final. A seguir mostramos o passo a passo do desenvolvimento.

Passo 01: bibliotecas

Iniciamos instalando e definindo as bibliotecas utilizadas no projeto. Além das dependências do projeto em si, instalamos também o python-dotenv, responsável por carregar as variáveis de ambiente a partir de um arquivo .env — uma prática essencial para manter credenciais fora do código-fonte.

As bibliotecas utilizadas são:

  • requests para baixar o PDF do site da empresa de interesse
  • shiny e shinywidgets para desenvolver a dashboard
  • google.genai para analisar o comunicado com o modelo Gemini
  • plotly para visualizar os dados
  • dotenv para carregar a chave de API com segurança a partir do arquivo .env

Passo 02: modelo LLM

Em seguida, definimos o modelo de IA generativa a ser utilizado para a análise do relatório. Neste caso, utilizamos o Gemini 2.5 Flash, o modelo mais recente e avançado da família Gemini disponível em 2025, que combina alta capacidade de raciocínio com velocidade e eficiência de custo.

A chave de API é carregada de forma segura a partir de um arquivo .env localizado na raiz do projeto, utilizando a função load_dotenv(). Isso evita que a chave fique exposta diretamente no código — especialmente importante ao versionar o projeto com Git. O arquivo .env deve conter a seguinte linha:

GEMINI_API_KEY=sua_chave_aqui

Obs: adicione o .env ao seu .gitignore para que a chave nunca seja enviada ao repositório.

Com a chave carregada, criamos um cliente centralizado com genai.Client(). Esse cliente é o ponto de entrada para todos os recursos da API no novo SDK google-genai, substituindo o antigo par genai.configure() + genai.GenerativeModel().

Passo 03: interface da dashboard

Avançamos agora para a interface visual da dashboard. Definimos um campo de input para o usuário informar o link do comunicado de resultados que deseja analisar, e os outputs para as análises geradas pelo modelo de IA generativa: dois gauges de índice (sentimento e perspectiva futura) e três cartões de texto (tópicos positivos, negativos e sumário).

Passo 04: coleta de dados e prompt

Por fim, definimos a função reativa prompt_ia(), que é o coração do assistente. Ela é disparada automaticamente sempre que o usuário altera a URL informada no campo de input. O processo ocorre em três etapas:

  1. Download do PDF: o arquivo de resultados é baixado diretamente do link informado pelo usuário e salvo localmente como resultados.pdf.
  2. Upload para a API: o PDF é enviado para a API do Google usando client.files.upload(). Isso permite que o modelo receba o documento como contexto para a análise, de forma nativa — sem necessidade de extrair o texto manualmente.
  3. Geração de conteúdo: o modelo recebe o arquivo e o prompt e retorna uma resposta estruturada em JSON. No novo SDK, a geração é feita diretamente pelo cliente com client.models.generate_content(), onde todas as configurações — incluindo system_instructiontemperature e response_mime_type — são passadas juntas via types.GenerateContentConfig. Isso substitui a antiga separação entre GenerativeModel e GenerationConfig.

O resultado final é a dashboard exposta na imagem acima. Como próximos passos, o app pode ser publicado (deploy) em algum serviço, como o Shinyapps.io.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print
Análise Macro © 2011 / 2026

comercial@analisemacro.com.br – Rua Visconde de Pirajá, 414, Sala 718
Ipanema, Rio de Janeiro – RJ – CEP: 22410-002

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp