eu coloquei uma llm para me ajudar a organizar as minhas finanças pessoais e nesse vídeo eu vou ensinar como vocês podem fazer o mesmo mas a primeira pergunta que fica é cara por que usar uma ia para isso porque isso aqui parece ser um dashboard relativamente simples só que se você tem um hábito de organizar as tuas Finanças todos os meses deve saber que a parte mais chata é a de categorizar as informações a gente precisa olhar a transação por transação e atribuir uma categoria específica porque é uma transferência para Terceiro aqui eu tenho um custo com aluguel aqui seria uma compra aqui um custo por educação e e esse processo aqui de pegar esse texto interpretar e entender a parte de categoria antes das llms deveria ser feito por nós ou colocando regras específicas bem na mão uma sequência de ifs e mesmo assim toda nova transação tinha um risco de falha então o Ponto Central desse projeto aqui e que poucas pessoas sabem é que dá para utilizar modelos de linguagem para eles fazerem esse processamento pra gente aqui eu tenho 500 transações feitas ao longo do ano inteiro de 2024 eu teio aqui os valores vocês vão ver que no dashboard aqui eu também modifiquei eles para não mostrar para vocês os meus gastos mas a técnica aqui é super útil pra limpeza de dados Então quem trabalha como analista de dados sabe que limpeza de dados no geral é um processo Super Chato e que modelos de linguagem podem tornar isso aqui bem fácil então o que que eu vou começar aqui galera eu sugiro que vocês entrem no banco de vocês puxem os extratos criem uma pastinha que nem eu criei aqui e procurem pelos extratos no formato ofx ele é um formato padrão que acredito que a imensa maioria doss bancos te permite exportar desse jeito eu aqui sou usuário do Banco do Brasil e consegui puxar super bem ele é uma espécie de XML que contém aqui todas as transações e a gente vai utilizar a biblioteca do Python para fazer o pareamento desses dados organizar numa tabela a gente vai passar esses dados para uma llm pode ser o chat GPT aqui eu vou usar uma llm local mas fiquem à vontade para escolher que vocês quiserem e depois vamos construir esse pequeno dashboard aqui em stream que vai mostrar um mês selecionado aqui por vez eu posso filtrar categorias tirar e ver como é que foi o meu gasto a cada um dos tempos Então vamos começar aqui o projeto galera eu já tenho aqui uma tabelinha tá E essa que eu tô mostrando para vocês mas eu vou recriar ela do zero então vocês comecem com uma pasta qualquer aqui simplesmente com esses extratos e eu vou criar um novo arquivo que eu vou chamar aqui de llm finance vamos lá primeira coisa que a gente precisa é Garantir que vocês TM o pandas instalado e o a biblioteca ofx pars que ela vai fazer o parce momento desses arquivos então instalem como vocês naturalmente instalaram bibliotecas do Python eu já tenho ela instalado tá então ele vai dar que eu já tenho vocês provavemente ele vai instalar e o pandas façam a mesma coisa PIP instal pandas então eu vou começar puxando quatro bibliotecas do Python tá o FX pars que a gente acabou de instalar o pandas como pd para poder gerar uma tabela que é o compilado desses dados o módulo os para poder Navegar aqui nas minhas pastas e o date time pra gente poder fazer algumas conversões de datas primeira coisa que eu vou fazer vai ser criar um Data Frame vazio que eu vou alimentando ele a medida que eu vou passando por meses porque cada um desses arquivos ufx aqui é correspondente a um mês diferente que que eu vou fazer eu vou fazer o seguinte eu vou para cada extrato que existe na pasta os P list dear e eu vou passar aqui a pasta extratos eu vou iterar sobre cada um deles então vou até mostrar para vocês aqui o que que isso aqui já está fazendo e eu gosto de utilizar aqui o terminal iterativo do Júpiter para debugar o meu código quem já acompanha um canal há um tempo sabe Caso vocês não saibam Como configurar isso aqui tem um vídeo que é como configurar o vs code paraa máxima produtividade do canal das zimov também eu vou executar tá isso aqui ele vai rodar Ele me mostrou todos os arquivos que ele encontrou nessa pasta o que que eu preciso fazer vou precisar Abrir esses arquivos então eu vou colar aqui um código meu código meu esrp tal só vou trazendo para tornar um pouco o processo um pouco mais simples para não ter ficar escrevendo linha a linha e a aula ficar com com muito tempo eu vou abrir esse arquivo então coloco um if Open o if ele faz com que a gente abra algum arquivo e quando essa expressão aqui fechar quando a gente terminar de trabalhar com if ele automaticamente cuida do fechamento pra gente então eu vou colocar o seguinte eu vou pegar da pasta extratos e vou pegar cada um dos extratos por vez porque lembrem ele tá iterando sobre todos os ufx aqui vou pedir para ele passar um encoding porque o Banco do Brasil especificamente estava com alguma diferença de encoding nos seus textos que não estava casando aqui com com o do pyon padrão sab que eu precisei colocar esse en codem para ele entender caracteres especiais Talvez isso aqui funcione para vocês podem Colocar assim Senão só troca o encoding perguntem no Google outras opções de encoding caso não dê errado ou mesmo podem até deletar isso aqui a gente vai abrir esse arquivo vai chamar de ofx file que que eu vou fazer agora com o ofx file eu vou utilizar o FX pars aqui em cima Então vamos colocar ofx que é um o arquivo que eu vou processar por vez eu vou pegar essa biblioteca aqui e vou usar a classe ofx parcer e eu vou pedir para ela fazer o pareamento parce momento é uma espécie de processamento que se usa bastante para processar esse arquivo XML aqui grandão bagunçado num formato que a gente consiga trabalhar com facilidade no Python então abri o meu arquivo tá o arquivo já está aqui e eu vou colocar o seguinte transactions data Isso aqui vai ser uma lista vazia aonde eu vou ir colocando todas as transações que eu tô vendo no meu arquivo um a um nessa lista para depois converter em dataframe do pandas Qual que é a ideia agora eu vou pegar para cada account em ofx pacc accounts então ele ele entende ele consegue separar isso aqui por por contas dentro do meu arquivo eu posso pegar cada uma das das contas por vezes no caso eu só vou ter um mas caso vocês tenham mais contas o arquivo FX ele permite que vocês façam a separação eu vou colocar o seguinte para cada transação que ele encontrar dentro do account pon Statement P transactions Isso aqui é uma lista de todas as transações então ele vai pegar transação por transação e isso aqui agora eu vou começar a colocar no meu transactions data e eu vou criar uma lista de dicionários o meu transaction data vai ser uma lista de dicionários porque depois na hora de converter isso pro pandas fica muito mais fácil só dar um pd. dataframe. loc vir uma tabelinha bem bonita e agora eu vou copiar essa sequência aqui eu vou colocar eu quero a data ela é transaction p datate valor é transaction p amount descrição transaction pmo e ID transaction.
id são as informações mais importantes que eu encontrei Caso vocês queiram ver o que tem aqui dentro vou até rodar esse código aqui como um todo e que tem dentro de um transaction eu posso dar um dir nisso aqui e ele me mostra todos os elementos que ele já possui que é uma série de coisa que eu não tô utilizando Esses são os principais Mas caso o banco de vocês tenha outras vocês podem dar um dir no transact e visualizar se tem alguma informma relevante que queiram colocar ali Beleza então eu já tenho agora minha lista de dicionários que e agora de posse desse dessa lista de dicionários eu vou converter em dataframe criando um dataframe temporário que eu vou chamar aqui de dft temp vai ser igual pd. dataframe. loc inteiro ele não tá no formato float então eu vou converter em float vou pegar a minha data que também está no formato se eu não me engano ele está em time stamp mas aqui na verdade eu não tenho essa informação de hora no meu ofx então vou converter isso aqui para data então para isso eu faço o seguinte eu pego o meu data digo que ele vai ser igual ao data ele mesmo e eu vou dar um ponto apply e eu vou criar uma função Zinha que vai só extrair a data desse meu desse meu data e aí por fim eu vou combinar o meu Data Frame Inicial aqui com esse temporário então ele vai iterando cada transação que ele puxa ele faz esses processamentos coloca ali dentro e assim por diante então Se vocês fizerem isso vocês vão reparar que aqui vocês já tem um Data Frame com todas as transações de todos os arquivos ufx para vocês eu só vou fazer uma pequena coisa galera que para poder ocultar os meus dados eu vou colocar que o valor ele vai ser igual a 1 eu vou enganar os valores vou dizer que todas as transações foram de R 1 tá vocês podem ignorar essa aqui isso não é necessário né para vocês então beleza A gente já tem aqui com 27 linhas de código todo um processamento Já carreguei todos os arquivos pfx vamos pra segunda parte agora que que que é o mais difícil o difícil é a gente pegar essas descrições aqui criar uma categoria para cada delas porque reparem isso aqui é chato Hotel Nacional Se eu quisesse colocar isso aqui como viagem eu teria que colocar uma uma regrinha do tipo assim se eu detectei a palavra hotel na descrição então é viagem te que teri pop é 99 pop eu tô é transação então teria que colocar um a um e gasto com movimentação né então teria que colocar regrinha por regrinha para cada um desses pixs enviado então is aqui é transferência para terceiros tudo isso aqui teria que ter uma grande lista de regras que ela fica defasada muito rápido porque a gente muda o nosso padrão de consumo ao longo do tempo então aqui que uma llm pode nos ajudar facilmente que que eu vou fazer eu espero que vocês tenham instalado já o leng chain tá que é uma biblioteca que caso vocês já tenham visto outros vídeos aqui do canal até o que eu ensino a a jogar xadrez fazer as LM jogar em xadrez lchin ele é útil pra gente manipular esses modelos de linguagem e a gente vai utilizar algumas delas vocês podem utilizar o Lang chain Open A tá para poder conversar com o chat GPT a gente pode utilizar o l chain grock para conversar com as as ais hospedadas no modelo da grock a gente vai ter precisar também do lchin core que ele tem uma série de funcionalidades junto com lch community e o python.
env pra gente poder carregar as chaves que vão ser necessárias pra gente poder conversar com esses modelos de linguagem porque eles precisam de api Kiss Dependendo de qual vocês estejam utilizando eu vou ensinar vocês aqui a trabalharem com llms da grock ou com lms locais que é o que eu gosto de trabalhar mas se quiserem trabalhar com a chat GPT da openi fiquem à vontade também então a gente vai instalar isso aqui eu tenho tudo instalado ã Beleza agora a gente vai botar uma série de imports que vão ser necessários para essa parte de processamento de llms eu vou explicar cada uma delas o leng chain Eu particularmente não gosto que eu acho que ele faz muita bagunça ele fica separando em muitas bibliotecas diferentes cada coisa gerenciada para uma biblioteca parte então você tem que instalar umas Sei lá cara cinco seis bibliotecas diferentes para começar a mexer com l chain L chain Core L chain community L chain L chain normal aí tem os L Chains que se conectam com as apis da da llm se não tá entendendo nada disso a gente tem um curso completo de L chain lá na plataforma das imov dentro da trilha aplicações e que a gente ensina tudo isso aqui no detalhe Tá vou tentar passar o máximo que eu puder aqui nesse curto espaço de tempo então primeiro importe é from L chain openi eu vou importar o chat openi isso aqui permite que eu converse com o chat GPT eu tenho aqui o chat da groc que quem não lembra a groc ela é uma empresa que está desenvolvendo uma um novo hardware otimizado para rodar modelos de linguagem Então hoje na internet eles são os que te permitem acessar modelos com uma velocidade mais rápida possível só que eles não desenvolvem modelos então a gente vai ter com modelos abertos aqui dentro Mas ele tem eles são focados no hardware aí o hardware que eles entregam é muito potente eu vou dá Olá aqui ele me respondeu Olá como posso ajudar você hoje a 1200 tokens por segundo utilizando o Lhama 3. 1 de 8 bilhões de parâmetros aqui é muito rápido mas a parte mais legal é a gente clicar aqui em cima developer start building e a gente vai ter acesso as api da grock então vocês podem vir aqui criar um api Secret de graça ela não cobra nada criem aqui uma chave coloquem um nome qualquer ele vai dar uma chave para vocês que que vocês vão fazer vocês vêm aqui dentro do do projeto a gente vai criar uma pasta chamado um arquivo chamado ponto env e a gente vai colocar o seguinte grock underline api underline ke e a chave que vocês criaram então por exemplo ó á o chave test criasse chave test ele me deu esse código Cola salva e é isso a gente já vai ter acesso agora a llm mais rápida do mundo de graça a gente vai importar aqui o l chain deline Core prompts o prompt template ele vai nos ajudar a configurar os nossos prompts esse aqui não é necessário podem ignorar eu vou importar também a Open ai que eu vou mostrar como é que eu faço para rodar el elms locais Caso vocês tenham uma máquina boa e aqui o dot env que a gente instalou ali do python. env para poder carregar essa chave aqui pra gente poder proteger a chave não ter que ficar colocando ela no código porque é uma prática ruim sempre bom vocês separarem o código das chaves de acesso importamos tudo isso agora a gente vai precisar carregar as nossas Chaves a gente faz isso utilizando o método load Envy e dá para o utilizar junto find D env porque às vezes ele não encontra onde é que tá o ponto ponto env dependendo do sistema operacional de vocês e agora que vem o meu prompt esse prompt aqui eu desenvolvi vocês podem otimizar podem mudar Aliás devem que é o seguinte eu disse pro modelo de linguagem que você é um analista de dados trabalhando em um projeto de limpeza de dados então o foco dele vai ser só devolver alguma categoria seu trabalho é escolher uma categoria adequada para cada lançamento financeiro que eu vou te enviar todas são transações financeiras de uma pessoa física escolha uma dentre as seguintes categorias e aqui eu coloquei as categorias que fazem sentido para mim vocês vão colocar o que faz sentido para vocês escolha a categoria deste item e aqui eu deixei um placeholder que vai ser o local onde eu vou inserir cada uma dessas categorias aqui uma a uma e eu pedi para ele responder apenas com uma categoria porque às vezes dependendo do modelo que vocês estão utilizando ele começa dar um blá blá blá ele começa a dizer ah a categoria que eu escolho aqui é tal a gente não quer esse texto é só categoria porque eu quero utilizar ele para diretamente analisar e já colocar que que a gente faz com prompt agora a gente vai pegar o prompt template e vai transformar num prompt padrão so Antes de mostrar como é que eu faço localmente então aqui a gente instancia a classe chat grock colocando Model eu coloquei um dos modelos 70 bilhões de parâmetros deito e agora a gente vai criar uma cadeia que é isso que a lin faz isso aqui vai conectar o nosso prompt ao chat vamos testar isso aqui eu vou rodar eu não entendi tá eu tive que reiniciar aqui o temos uma Chin rodando vamos testar Vou colocar aqui para ele Ó Olá tudo bem só que olha que curioso porque o prompt que eu passei para ele foi esse prompt aqui e ele pegou essa minha frase aqui e devolveu compras ou seja ele tentou categorizar o que que é isso eu não sei da onde que ele tirou que isso aqui é compras Tá mas reparem que ele não respondeu como um LL normal responderia como Olá meu nome é tal e sei lá direto fazer a função que eu já passei para ele tá isso aqui bateu lá na iepi da grock e já voltou a gente pode testar por exemplo o seguinte ó mercado supermercado no dia 3 do9 se ele visse essa transação aqui o que que ele categorizaria existe aqui mercado Se eu colocar farmácias macias sei lá Drga Raia saúde Ele já entendeu então ele está funcionando Qual que é a lógica que a gente vai querer fazer agora a gente tem duas abordagens eu vou passar para vocês a mais segura que é a gente gente pegar todas as transações que eu quero categorizar Então vamos colocar aqui for transaction nessa lista aqui eu vou pedir para ele colocar aqui ó category ele vai pegar em ordem tudo ISO tudo aqui e ele vai colocar category Adicionar este elemento aqui que ele vai dar um inv e eu vou trocar o que ele vai passar com o transaction então vou passar aquela transação pedir que ele categorize para mim a resposta eu jogo na categoria tem um pequeno detalhe que reparem que como eu não como eu construí a minha chain desse jeito aqui eu não utilizei este string output parcel até deletar isso aqui para não confundir vocês H ele volta com configuração um pouco maior ó ai message cont met deira quantos PR foram utilizados quantos tokens quanto tempo levou uma série de informações que aqui não convém então eu vou pegar e acessar só o ponto content dele eu quero só esse testinho aqui beleza agora a gente pode executar isso aqui batendo na apepi da grock que que pode acontecer galera api da grock ela tem uma limitação de uso ela é gratuita mas a gente não consegue usar muito se eu não me engano é 1000 transações por minuto alguma coisa assim então eu vou testar vamos ver o que acontece tá rodando Talvez isso aqui leve um tempo porque ele tá batendo um a um um por vez eu não consigo fazer isso aqui em paralelo na IPI da grock Não testei muito a fundo mas eu não não vi nenhuma alternativa mas existe uma forma da gente conseguir fazer essas operações aqui de maneira paralela Se nós formos donos da nossa própria llm Se nós tivermos hospedando ela e eu já vou mostrar como fazer isso só que exige que vocês tenham um computador bom com placa de vídeo boa para suportar o modelo que vocês querem rodar ou vocês aluguem uma máquina na nuvem e deixem ela como se fosse uma máquina virtual personalizada e dedicada pro projeto de vocês o meu aqui tá rodando Ainda eu não sei quanto tempo vai levar talvez alguns minutos então eu vou parar tá mas se vocês rodarem isso aqui em casa vai funcionar só demora mais tempo demora alguns minutos tá porque ele tem que um a um colocar as transações Às vezes a groc pode nos travar e tal vocês podem colocar algum timer Pode ser que dê algum erro de de mensagem demais então tipo não vamos mandar uma vez a cada um minuto então isso aqui vai levar 500 segundos V dar vários minutos tá Qual que é a forma mais rápida e aqui vai envolver um pouco de conhecimento técnico lá na zimov a gente investiu recentemente em comprar um computador para desenvolvimento de aplicações com EA é um é um computador mais bem potente Eu já falei um pouco dele em outros vídeos aqui do canal e ele tem duas placas de vídeo 3090 que é uma uma rtx 3090 que é uma placa de vídeo que tem qu 24 GB de vram Então ela é muito boa para que a gente consiga ã processar modelos grandes e ela também tem bastante memória e bastante processador então eu vou utilizar super computador aqui vocês conseguiriam montar o de vocês na própria internet alugando no site v.
veste é é o Global GPU Market ele permite que vocês criem aqui ó por exemplo demanda pricing a gente clica aqui escolhe alguma configuração que a gente quer do tipo não eu quero duas rtx ó duas placas posso escolher aqui as marcas que eu quero ó duas rtx 4090 ele vai cobrar de vocês lá 1 dólar à hora até um pouco mais caro do que antes Aqui tem um barato ó 60 centavos de dólar a hora a gente vem aqui aluga ele monta uma máquina pra gente a gente consegue se conectar muito parecido com o que eu tô fazendo aqui tá no meu caso eu vou fazer uma um SSH para essa máquina porque a máquina não está comigo aqui que está lá na nas imov no escritório da zimov Tá mas seria um procedimento muito parecido Caso vocês aluguem uma máquina da nuvem e isso aqui é para rodar llms locais então eu vou logar aqui eu já tenho uma VPN traçada para lá estou dentro da minha máquina tá se vocês repararem aqui ó Isso aqui é um Linux server tá então ele tem aqui os seus 32 cores um ryzen 9 7950x é um é um computador um processador bem potente tem 128 GB de Hub que a gente faz bastante análise de dados lá e a gente tem essa parte aqui que é a mais importante que é o painel das placas de vídeo eu tenho aqui uma rtx 3090 que é isso aqui outra rt6 1990 e elas não elas estão sendo utilizadas na verdade um pedacinho dela por um processo que o Lorenzo inclusive tá trabalhando para desenvolver um modelo de análise de de transcrição de áudio então isso aqui é é o docker que o Lorenzo rodou lá chega de blá blá blá que que vocês vão precisar fazer a gente vai precisar hospedar esse modelo eu gosto des deste projeto aqui aqui LM Deploy ele permite que vocês hospedem os seus suas llms nos seus próprios computadores e ele vai pegar todo o espaço disponível que vocês derem para ele eu vão dizer assim cara eu quero que tu use as minhas tuas duas placas usa tudo aí ele vai lá e vai colocar todos os as llms para usar o máximo em paralelo e a gente consegue fazer com que esse processo que levou um tempo aqui seja muito mais rápido aqui dentro como é que a gente faz isso a gente precisa eu vou ativar o ambiente que eu já fiz do LM Deploy mas no no caso basta vocês darem um PIP install LM Deploy e ele vai instalar tá E aqui eu vou na pasta que eu costumo deixar os meus modelos e a gente vai usar um comando que na biblioteca do Elm Deploy tem que é um pouquinho maior que que eu vou fazer esse comando aqui diz que eu quero utilizar só uma das placas eu não quero utilizar duas eu quero utilizar só uma caso eu quisesse utilizar as duas ele também permitiria que eu que eu L incasso as duas eu vou mostrar aqui numa outra Instância desse computador o que acontece quando a gente usa duas Então vou mostrar para vocês ó que que aconteceria se eu pegasse e colocasse as duas placas ao mesmo tempo então zero e um eu vou usar as duas placas LM Deploy serve api server eu quero que ele hospede para mim esse servidor aqui o modelo que eu vou utilizar tá então tô utilizando um lama 8 bilhões de parâmetros com quant Police de oito então ele está quantizado em 8 in8 Se não me engano é um modelo de q8 em geral o q8 ele vai ocupar 8 GB de R da minha placa de vídeo ele vai ocupar em giga a mesma quantidade dos parâmetros que a gente tem aqui se a gente tá utilizando modelo sem quantização ele vai ocupar o dobro E se a gente tá utilizando um modelo em q quro ele vai ocupar metade tá então isso é uma dica importante para vocês trabalharem com modelos locais entenderem quais os QS vocês têm que trabalhar Q2 Q3 q4 são níveis de compressão que os modelos vão ter que vão dar performance mas tirar precisão e tudo isso aqui é claro a gente tem um curso nas imóvel lá focado em modelo dos locais que é um dos últimos da trilha aplicações EA com python então eu vou escolher aqui o modelo da meta meta 3. 1 é o Lhama 3. 18b vou rodar reparem aqui embaixo na minha placa ó ele vai começar a a utilizar E no caso ele usou só um não sei porquê ele devia ter usado os dois Ele usou só um depois eu vejo se é ser é assim mesmo com vírgula mas isso aqui já funciona pra gente tá mas deveria ter usado zero e um acho que tem que mudar o alguma configuração aqui depois que tava funcionando antes agora não não sei o que que deu Beleza então este modelo aqui tá funcionando e eu já tenho uma VPN traçado para essa máquina tá então o meu computador consegue enxergar aquela máquina isso vocês podem fazer tanto localmente quanto com vest api que eu ensinei quanto no Google Cloud que que eu vou fazer agora para modificar o LM Deploy que é este cara aqui ele ele criou pra gente uma API mim and o chat GPT ele imitou a api da openai então a gente pode trabalhar diretamente como se a gente estivesse trabalhando com a openai aqui no L chain Open ai tá da mesma forma que a gente trabalharia Lá a gente pode trabalhar aqui que que eu vou colocar o meu base URL tá aqui no caso é o ip da minha máquina se vocês estiverem fazendo isso aqui da própria máquina querem hospedar no computador de vocês já tem tudo aí para para hospedar a gente vai trocar isso aqui por local host ou vai trocar por 0.
0 p0. 1 e assim por diante tá esse aqui é o base url que que a gente faz agora eu vou criar um client da Open a e aqui eu tô utilizando a biblioteca da openai não mais o l chain openai a gente vai utilizar os dois por quê Porque eu vou rodar aqui tá reparem que ele Eu até vou mostrar aqui que toda vez que eu chamo ó eu vou chamar algumas coisas aqui e vai dar uma mensagenzinha Opa vai dar uma mensagenzinha aqui ó Então me conectei com aquele servidor não precisa de jpi aqui porque eu que mando aqui então não preciso de chave nenhuma e aqui a gente vai colocar esse modelo aqui eu vou perguntar que modelos que ele tem lá então para isso a gente usa client. on models P list P deira zer ID tem que copiar isso aqui mesmo é chato vou rodar reparem que apareceu uma mensagem aqui do tipo ó te respondi e ele me disse que o modelo que ele tem carregado é justamente esse que a gente carregou huging Face Model liama 3.
1 aqui no canto Beleza então tem um modelo na mão tenho a minha conexão com o meu modelo local agora eu vou pegar o chat da Open a do Lang chain vou passar temperatura como zero esse modelo aqui nesse base URL e qualquer chave de acesso instance isso aqui e agora eu poderia pegar o meu chat por exemplo ó e eu vou trocar eu vou colocar que a minha cadeia não é mais o chain o anterior vai ser esse novo aqui eu posso vir aqui prar cara Olá vamos dizer o que que ele me diz esse meu modelo e ele reparou que apareceu a mensagem aqui e ele me deu compras ele fez a mesma coisa que o da grock qu só que a diferença que ele tá local Qual a vantagem de usar local é que a gente consegue cara D porrada nisso aqui eu consigo colocar ah quantas requisições eu quiser aqui dentro posso tocar fogo na minha máquina coisa que na groc o pessoal me limitar dizendo não Você não pode fazer tantas requisições e tal então se vocês querem trabalhar num projeto mais avançado de limpeza de dados no futuro utilizar isso aqui como base eh eu recomendaria investigar um pouco sobre como fazer esses processamentos criar essas coisas localmente porque isso aqui que vai permitir que vocês façam o que eu vou mostrar agora que é esta pancadaria aqui eu utilizei o categorias chain P batch então a invés de fazer uma requisição por vez eu mando as 500 pro modelo e te vira faço as contas aí então aqui eu tenho as minhas as minhas transações eu vou colocar no categoria e faço o Bet Olha a diferença eu vou executar e olha ele aqui ó já está respondendo cara a rodo isso aqui é categorias compra descrição não sei que isso aqui é tal tal tal tudo usando slm local aqui eu tenho a PC fazendo conta ó minha placa de vídeo já tá a 60º tá usando 30% delas e 300 w com uns 23 GB dela de Ram tá então quanto maior for a ver Ram de vocês mais ele mais rápido ele consegue fazer o processamento e Mais instâncias do Mesmo modelo em paralelo ele consegue colocar porque aquele carregou um modelo só ele carregou vários tá então ele tá fazendo ali quatro cinco por vez e aí pronto categorize aqui 500 transações de uma só vez e aí eu posso vir aqui criar uma coluna categorias eu vou fazer um corte nos meus dados maior que março tá e eu vou exportar isso aqui para Finanças e agora eu tenho todas as transações categorizadas aqui só teve um probleminha eu esqueci de fazer o tirar o content então ficou esse lixar aqui eu vou ter que rodar de novo mas Vocês pegaram a ideia atualizei ali e tá lá todas as minhas categorias agora das minhas transações estão tão feitas aqui tá reparem que ele vai cometer alguns erros sim porque a gente não passou instrução sobre o que o que tem coisas que ele não vai saber de média que que é de média que que é viva que que é alguma coisa mas a gente pode adaptando isso no prompt bem facilmente Então posso dizer aqui ó alimentação sempre que encontrar zafar por exemplo sempre que encontrar de média saúde coisas nesse sentido que se parece um pouco sim com aquela parte do C só que esse modelo ele é muito mais maleável eu não preciso colocar as regras muito específicas ele vai entender com clareza do que se trata tá ele vai com pouquinhas informações ele já consegue se adaptar e fazer coisas muito boas então beleza agora se vocês quiserem eu vou deixar também o código de um dashboard do streamit como é que eu fiz isso é bem simples tá já tem muito conteúdo no canal aqui sobre stram como sobre como mostrar os os dashboards mas é é coisa bem fácil mesmo de criar ali os Control dores e tal e aí beleza agora a gente pode pegar essa tabela e construir um dashboard super simples aqui no stream que eu fiz em cara alguns uns minutos acho uns 5 minutos 10 minutos talvez então a gente importa o stramit com python é importante ter ela e eu vou utilizar para construir o gráfico de pizza o plotly Express tá vou dar um um page layout Wide senão ele fica encurtadas Side bar com dois filtros o mês aqui e a categoria a gente vai pegar e colocar a tabela filtrada dos meses e o que ele tá vendo aqui mês a mês com as categorias já feitas pelo modelo de linguagem inclusive esse código do string aqui foi um modelo de linguagem que me ajudou a fazer tornou tudo mais rápido que eu faria Então galera aqui eu vou colocar rapidamente algumas limpezas que eu fiz no dado tá Então primeiramente eu carreguei ele tirei aqui a coluna ID eu não sei nem se eu coloquei ela aqui agora não eu coloquei eu vou deletar coluna ID vou criar uma coluna mês que ele vai ser da seguinte forma eu pego a data e a data ele está como 2024 tro mês traço 19 então eu fiz o seguinte ó eu comecei pegando um split por traço que é aqui então ele vai pegar todos os traços separados 2024 08 e 19 Ele separa numa lista com três elementos eu vou pegar os dois primeiros elementos é isso que eu faço nessa seleção aqui os dois primeiros elementos e depois eu uso um método do Python aqui o ponto join que eu consigo aplicar C isso aqui numa lista porque el vai est 2024 e 08 E se a gente coloca o join com string ele transforma numa string que ele coloca cada um dos elementos da da lista na string e ele vai combinando eles colocando esse esse trechinho aqui no meio o join então é como se ele voltasse pro 2024 08 se B que eu acho que a forma mais fácil olhando aqui agora era só ter pego os primeiros sei lá seis elementos aqui construi o mês converti a data para date time depois reconvertir ela para porque isso aqui vem em formato de texto do meu read csv depois eu peguei o date e eu tirei categorias que são receitas eu fiquei só com com gastos e de novo aqui não precisa porque eu já fiz isso anteriormente só limpeza dos dados agora aqui eu crio uma funin que é o Filter data aonde eu ele vai receber o Data Frame vai receber o mês e as categorias e ele vai buscar pelo Data Frame que é daquele mês e vai pegar a lista de categorias que que vai ser selecionado daqui e vai buscar sempre categoria estiver contido nessas categorias aqui e me devolve o Data Frame filtrado é um processo de filtro bem fácil bem fácil isso aqui Inclusive eu fiz com chat GPT e inclusive não tenho vergonha de usar o chat GPT tá gente para programar porque antigamente Tem uma galera hoje em dia que eu não sei por que que tem na cabeça que fica olhando assim ah você não usou o chat ept então não vale cara programadora nós somos construídos a base de cópia vocês copiavam a vida inteira de vocês do stack overflow e agora que tem um chat GPT que traz o stack overflow adaptado para tua necessidade Ah não não posso usar tipo frescura cara tem que usar esse código aqui se eu fosse escrever do zero na mão eu ter que catar todas as minhas documentações antigas ia ter que ficar buscando trecho a trecho para lembrar o que que Como como eu faço cada uma das coisas ia demorar sei lá umas Du horas para fazer se eu fosse roubar copiando do stack overflow que é o que eu fazia desde 2014 eu ia levar talvez em vez de 2 horas uma uns 20 minutos 30 minutos e com chat GPT a gente consegue fazer em 5 minutos sabe chat jpt é péssimo para fazer o projeto como um todo só que esses micro snips essas micro coisinhas ele faz super bem E é isso que a gente tem que se apoiar nele tá e eu falo chat ept Vale qualquer modelo de linguagem é uma ferramenta usem Parem com essa bobagem de que programador não pode usar tem gente que diz isso vem nos meus meus comentários e fala ah não não se usou então não vale tu é menos programador por isso bobagem o iniciante não consegue fazer isso aqui pode dar o melhor xpt do mundo para ele então vamos voltar vamos colocar aqui o s title eu coloquei um título aqui na no meu no meu projetinho e eu vou começar colocando os nossos filtros aqui então vamos começar criando um do mês tá aqui é um select Box tá que vai selecionar isso pra gente então a gente usa mês vai ser igual strin P sidebar para garantir que o filtro fique lá na esquerda select Box o nome que ele vai ter que é o mês aqui e que valores ele vai ter no caso é a coluna m. unque vou fazer a mesma coisa para categorias então primeiro eu pego aqui a as minhas categorias tá dei até um ponto ST list nela e depois eu coloco select sidebar pon multiselect que no caso é uma seleção múltipla filtrar por categorias as categorias que ele possui e quais são as categorias default que ele vai começar marcado tá então aqui eu já tenho meu projeto já tenho construído essas duas coisas Já carregou os dados e agora vem a parte mais simples que a gente vai primeiro lugar filtrar os nossos dados a partir do que foi selecionado então para isso a gente usa o método que a gente criou aqui em cima Filter data e eu vou fazer o seguinte na hora de colocar os gráficos eu criei duas colunas então eu coloquei aqui C1 e C2 vai ser o string columns 0. 6 0.
4 depois eu coloco C1 P Opa aqui eu vou tirar que eu tinha feito antes e DCI di tirar vou colocar o meu Data Frame filtrado aqui e vou colocar o gráfico do plot le utilizando plot le Express que é o p tá então aqui a gente fez o seguinte essa aqui eu vou explicar porque é um pouquinho mais chata tá de de entender a lógica vou ter que rodar o nosso código aqui e só para mostrar para vocês eu vou trocar aqui o DF group porque a gente quer criar um gráfico de categoria só que nossas transações elas estão todas somadas aqui ó tá tudo acumulado transação transação transação e a gente precisa saber quais são os gastos por categoria ã por mês então para isso eu vou ter que fazer um grupamento aqui então eu faço df. Group by categoria tá eu quero pegar essa nossa transação e agrupar pro categoria E eu vou só somar os valores e depois dar um reset reset index para que ele se Organize dessa forma porque se eu não dou reset index o categoria fica no índice a gente não consegue trabalhar bonitinho com o pai aqui tá então reparem que agora ele fez um somatório de todos os gastos por categoria E é isso que a gente quer utilizar no gráfico de pizza só que aqui não é DF aqui o DF filtered porque ele já vai considerar só o mês que foi selecionado e aqui no no plotly express pego a minha categoria valores categoria título um buraquinho no meio um 0.