#Step-3 ##app.py import gradio as gr import pickle from surprise import Dataset # Load model with open("model.pkl", "rb") as f: model = pickle.load(f) data = Dataset.load_builtin('ml-100k') raw_ratings = data.raw_ratings # Simple item list (movie IDs) items = list(set([r[1] for r in raw_ratings])) def recommend(user_id, n=5): preds = [] for item in items: pred = model.predict(user_id, item).est preds.append((item, pred)) preds.sort(key=lambda x: x[1], reverse=True) return [f"{item} → {score:.2f}" for item, score in preds[:n]] interface = gr.Interface( fn=recommend, inputs=[ gr.Textbox(label="User ID"), gr.Slider(1, 10, value=5, step=1, label="Number of recommendations") ], outputs="text", title="Video Recommender System" ) interface.launch()