FinAdv / app.py
Hu789PA's picture
Update app.py
16c2d90 verified
import gradio as gr
from huggingface_hub import InferenceClient
from transformers import pipeline
advice_model = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
def calculate_advice(food, clothes, utilities):
total_expenses = food + clothes + utilities
if total_expenses == 0:
return "Please enter valid expense values."
food_percentage = (food / total_expenses) * 100
clothes_percentage = (clothes / total_expenses) * 100
utilities_percentage = (utilities / total_expenses) * 100
advice_input = [{"role": "user", "content": f"Food: {food_percentage:.2f}%, Clothes: {clothes_percentage:.2f}%, Utilities: {utilities_percentage:.2f}%."}]
advice_output = advice_model.chat_completion(advice_input, max_tokens=100)
return advice_output.choices[0].message.content
with gr.Blocks() as demo:
gr.Markdown("## Budget Advisor")
food_input = gr.Number(label="Food", value=0)
clothes_input = gr.Number(label="Clothes", value=0)
utilities_input = gr.Number(label="Utilities", value=0)
def update_fields():
additional_expenses.value = add_input_field(additional_expenses.value)
return additional_expenses.value
advice_button = gr.Button("Advise Me")
output_text = gr.Textbox(label="Advice Output", interactive=False)
advice_button.click(
fn=calculate_advice,
inputs=[food_input, clothes_input, utilities_input],
outputs=output_text
)
if __name__ == "__main__":
demo.launch()