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()