Spaces:
Running
Running
import gradio as gr | |
from product_recommender import DynamicRecommender | |
import asyncio | |
async def get_recommendations(text: str) -> dict: | |
try: | |
recommender = DynamicRecommender() | |
recommendations = await recommender.get_recommendations(text) | |
return {"recommendations": recommendations} | |
except Exception as e: | |
return {"error": str(e)} | |
demo = gr.Interface( | |
fn=lambda x: asyncio.run(get_recommendations(x)), | |
inputs=gr.Textbox( | |
lines=3, | |
placeholder="Describe who you're buying a gift for (age, interests, etc.)" | |
), | |
outputs=gr.JSON(), | |
title="π Smart Gift Recommender", | |
description="Get personalized gift suggestions with real-time price comparison!" | |
) | |
if __name__ == "__main__": | |
# Run on all interfaces and port 7860 by default | |
demo.launch(server_name="0.0.0.0", server_port=7860) | |
else: | |
app = demo.app | |