Logotipo-500-x-400-px.png

Organizando suas Finanças com o Poder da IA

Gerenciar finanças pessoais pode ser uma tarefa tediosa, especialmente quando se trata de categorizar centenas de transações. Neste post, exploraremos como utilizar modelos de linguagem, como o ChatGPT e LLMs locais, para automatizar esse processo e simplificar a organização de suas finanças. Acompanhe o passo a passo para implementar essa solução eficiente e otimizar seu controle financeiro.

bsCImqUjQ74

Do Extrato Bancário à Tabela Organizada

O primeiro passo é extrair seus extratos bancários no formato OFX, um padrão amplamente suportado pelas instituições financeiras. Criamos um script em Python que utiliza a biblioteca `ofxparse` para processar esses arquivos e o `pandas` para organizar os dados em uma tabela. O script itera por cada extrato mensal, extraindo informações como data, valor, descrição e ID da transação. Este processo inicial nos fornece uma base de dados estruturada para trabalharmos com a IA.

Um detalhe importante para lidar com caracteres especiais ou codificação específica do seu banco é o parâmetro `encoding` na função `open`. Caso encontre problemas, pesquise por diferentes opções de encoding ou tente remover o parâmetro. Após a execução, teremos um DataFrame do pandas contendo todas as transações consolidadas. Para fins de privacidade, no exemplo demonstrado, os valores das transações foram substituídos por "1".

O código Python para essa etapa inclui a importação das bibliotecas necessárias (`ofxparse`, `pandas`, `os`, `datetime`), a criação de um DataFrame vazio, a iteração pelos arquivos OFX na pasta de extratos, a extração das transações e a conversão para um DataFrame do pandas. A conversão dos valores para float e das datas para o formato correto também é realizada.

CopyofIAGenerativanoDireito40

R$ 59,90

Categorização Inteligente com LLMs

A categorização manual de transações é a parte mais trabalhosa. Utilizando LLMs, podemos automatizar isso. A biblioteca `langchain` facilita a interação com modelos de linguagem, como o ChatGPT (via `langchain-OpenAI`) ou modelos hospedados na Grok (via `langchain-grok`). Também demonstramos como usar LLMs locais com o `llm-deploy`, que oferece maior controle e velocidade, ideal para projetos maiores. Lembre-se de instalar as bibliotecas necessárias: `langchain`, `langchain-OpenAI`, `langchain-grok`, `langchain-core`, `langchain-community`, `python-dotenv`, `pip install llm-deploy`.

Criamos um prompt para o modelo de linguagem, instruindo-o a atuar como um analista de dados em um projeto de limpeza de dados, com o objetivo de categorizar transações financeiras. Fornecemos uma lista de categorias predefinidas (e.g., Viagem, Alimentação, Saúde, Educação, etc.) e solicitamos que o modelo responda apenas com a categoria correspondente para cada transação. Para usar a Grok, crie uma chave de API no site deles e armazene-a em um arquivo `.env`. Para LLMs locais, utilize o `llm-deploy` para hospedar o modelo em sua máquina, configurando a URL base e a chave de acesso no script.

Com o Langchain, criamos uma cadeia que conecta o prompt ao modelo de linguagem. Em seguida, iteramos pelas transações, enviando as descrições para o modelo e armazenando as categorias retornadas em uma nova coluna no DataFrame. A utilização de LLMs locais com o `llm-deploy` permite o processamento em lote, enviando todas as transações de uma só vez, acelerando significativamente a categorização. Após essa etapa, teremos um DataFrame completo com todas as transações categorizadas, pronto para ser utilizado em dashboards ou análises mais aprofundadas.

Lembre-se que o modelo pode cometer erros. Refine o prompt com instruções mais específicas para melhorar a precisão. Por exemplo, adicione exemplos de transações e suas respectivas categorias, ou regras para lidar com termos específicos. Com o tempo e ajustes, você terá um sistema de categorização automatizado e eficiente para suas finanças pessoais.

Visualização e Análise com Streamlit

Finalmente, para visualizar e analisar os dados categorizados, utilizamos a biblioteca `streamlit`. Criamos um dashboard simples com filtros para mês e categoria, exibindo as transações filtradas em uma tabela e um gráfico de pizza gerado com o `plotly.express`. O código do dashboard inclui a importação das bibliotecas `streamlit` e `plotly.express`, a definição do layout da página, a criação dos filtros, a aplicação dos filtros ao DataFrame e a exibição da tabela e do gráfico. Este dashboard permite uma visualização interativa dos seus gastos, facilitando a identificação de padrões e a tomada de decisões financeiras mais informadas.

O script Python para o dashboard inclui a criação de filtros interativos para mês e categoria, permitindo ao usuário selecionar o período e as categorias que deseja visualizar. Os dados filtrados são exibidos em uma tabela e em um gráfico de pizza, fornecendo uma visão clara e concisa dos gastos. Este dashboard interativo simplifica a análise das finanças pessoais e facilita o acompanhamento do orçamento.

Gostou do conteúdo? Compartilhe

Facebook
LinkedIn
WhatsApp
Twitter
Telegram
Email

Referência

Organizando suas Finanças com o Poder da IA

Este site utiliza cookies. Ao continuar a navegar neste site, você aceita o uso de cookies e nossa política de privacidade.