Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import pandas as pd | |
| from groq import Groq | |
| import os | |
| # Load Groq API Key from HuggingFace Secrets | |
| GROQ_API_KEY = os.getenv("Clip") | |
| client = Groq(api_key=GROQ_API_KEY) | |
| def analyze_expenses(file): | |
| if file is None: | |
| return "Please upload a CSV file." | |
| df = pd.read_csv(file.name) | |
| expense_text = "" | |
| for index, row in df.iterrows(): | |
| expense_text += f"Date: {row['Date']}, Description: {row['Description']}, Amount: {row['Amount']}\n" | |
| prompt = f""" | |
| You are a financial AI assistant. | |
| Analyze the following expenses. | |
| 1. Categorize each expense. | |
| 2. Calculate total spending. | |
| 3. Give category-wise summary. | |
| 4. Give smart budgeting advice. | |
| Expenses: | |
| {expense_text} | |
| """ | |
| try: | |
| response = client.chat.completions.create( | |
| model="llama-3.1-8b-instant", | |
| messages=[ | |
| {"role": "user", "content": prompt} | |
| ], | |
| temperature=0.5 | |
| ) | |
| result = response.choices[0].message.content | |
| return result | |
| except Exception as e: | |
| return f"Error: {str(e)}" | |
| with gr.Blocks() as app: | |
| gr.Markdown("# 🤖 AI Expense Analyzer (Powered by Groq)") | |
| gr.Markdown("Upload your CSV file and get AI-powered financial insights.") | |
| file_input = gr.File(label="Upload CSV File") | |
| output = gr.Textbox(label="AI Analysis Result", lines=20) | |
| analyze_button = gr.Button("Analyze Expenses") | |
| analyze_button.click(analyze_expenses, inputs=file_input, outputs=output) | |
| app.launch() |