import os import gradio as gr import sqlite3 from dotenv import load_dotenv import openai from utils import generate_double_entry, save_transaction # Load key from Hugging Face secret or .env load_dotenv() openai.api_key = os.getenv(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) openai.api_base = "https://api.groq.com/openai/v1" def call_groq(prompt): response = openai.ChatCompletion.create( model="mixtral-8x7b-instruct", messages=[{"role": "user", "content": prompt}] ) return response['choices'][0]['message']['content'] def accounting_chatbot(user_input): llm_output = call_groq(user_input) debit, credit, amount = generate_double_entry(llm_output) save_transaction(debit, credit, amount, user_input) output = f"**Double Entry**\\n- Debit: {debit}\\n- Credit: {credit}\\n- Amount: {amount}\\n\\n🧠 {llm_output}" return output demo = gr.ChatInterface(fn=accounting_chatbot, title="AI Accounting Assistant") demo.launch()