Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import openai | |
| import pandas as pd | |
| import os | |
| # Substitua pela sua chave de API da OpenAI | |
| #OPENAI_API_KEY = os.getenv('token') | |
| openai.api_key = os.getenv("OPENAI_API_KEY") | |
| def categorizar_transacoes(transacoes): | |
| print("=== NOVA REQUISIÇÃO RECEBIDA ===") | |
| print(transacoes) | |
| categorias = { | |
| "Alimentação": [], | |
| "Transporte": [], | |
| "Lazer": [], | |
| "Compras": [], | |
| "Assinaturas": [], | |
| "Outros": [] | |
| } | |
| for transacao in transacoes: | |
| descricao = transacao.get("descricao", "") | |
| valor = float(transacao.get("valor", 0)) | |
| prompt = f"Classifique a seguinte descrição de transação financeira em uma das categorias: Alimentação, Transporte, Lazer, Compras, Assinaturas ou Outros. Pesquise pela descrição da transação na internet no que se refere a transação. \nDescrição: {descricao}\nCategoria:" | |
| try: | |
| response = openai.Completion.create( | |
| engine="gpt-3.5-turbo-instruct", | |
| prompt=prompt, | |
| max_tokens=10, | |
| temperature=0 | |
| ) | |
| categoria = response.choices[0].text.strip() | |
| if categoria not in categorias: | |
| categoria = "Outros" | |
| except Exception as e: | |
| print(f"Erro ao classificar transação : {e}") | |
| categoria = "Outros" | |
| categorias[categoria].append({ | |
| "descricao": descricao, | |
| "valor": valor | |
| }) | |
| print("Categorias finais :", categorias) # <<< imprime o resultado final categorizado | |
| return categorias | |
| iface = gr.Interface(fn=categorizar_transacoes, inputs="json", outputs="json", api_name="categorizar_transacoes") | |
| if __name__ == "__main__": | |
| iface.launch(mcp_server=True) | |