import gradio as gr from investment_recommendation import recommend_investment def recommend_api(risk, horizon, investment_amount): try: user = { "risk": risk, "horizon": horizon, "investment_amount": float(investment_amount) } result = recommend_investment(user) return {"status": "success", "data": result} except Exception as e: return {"status": "error", "message": str(e)} with gr.Blocks(title="FinTrack Investment Recommendation") as demo: gr.Markdown("## 💹 FinTrack Investment Recommendation API") risk = gr.Dropdown(choices=["Aggressive", "Conservative", "Moderate"], label="Risk appetite") horizon = gr.Dropdown(choices=["Short-term", "Medium-term", "Long-term"], label="Investment horizon") amount = gr.Number(label="Investment amount (₹)", precision=2) output = gr.JSON(label="Recommendation") btn = gr.Button("Get Recommendation") btn.click(recommend_api, inputs=[risk, horizon, amount], outputs=output) demo.queue() # enables API calls if __name__ == "__main__": demo.launch()