jonruida commited on
Commit
1f6da9a
1 Parent(s): 032c2da

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -0
app.py ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import torch
3
+ from lightgcn import GNN
4
+
5
+ # Carga los datos relevantes (por ejemplo, playlist_info.json, song_info.json, etc.)
6
+ # Asegúrate de que los archivos estén en la misma carpeta o ajusta las rutas según sea necesario.
7
+
8
+ # Crea una instancia de tu modelo LightGCN (reemplaza esto con tu propia lógica).
9
+ class SpotifyRecommender:
10
+ def __init__(self):
11
+ self.model = GNN(embedding_dim=64, num_nodes=100, num_playlists=50, num_layers=2)
12
+ # Carga los pesos preentrenados o entrena tu modelo aquí.
13
+ # Por ejemplo:
14
+ self.model.load_state_dict(torch.load("pesos_modelo.pth"))
15
+
16
+ # Carga los datos relevantes (por ejemplo, playlist_info.json, song_info.json, etc.)
17
+ # Por ejemplo:
18
+ self.playlist_data = cargar_datos("playlist_info.json")
19
+ self.song_data = cargar_datos("song_info.json")
20
+
21
+ def recommend(self, input_text):
22
+ # Aquí, llama a tu función de recomendación o procesamiento de datos.
23
+ # Por ejemplo:
24
+ #playlist_id = encontrar_id_de_playlist(input_text, self.playlist_data)
25
+ canciones_recomendadas = self.model.recommend(playlist_id, self.song_data)
26
+ return canciones_recomendadas
27
+ return f"¡Hola, has ingresado: {input_text}! Esto es una recomendación de canciones."
28
+
29
+ # Crea una instancia de tu modelo.
30
+ recommender_instance = SpotifyRecommender()
31
+
32
+ # Define una función para manejar las solicitudes de los usuarios.
33
+ def recommend(input_text):
34
+ return recommender_instance.recommend(input_text)
35
+
36
+ # Crea una interfaz de usuario con Gradio.
37
+ iface = gr.Interface(
38
+ fn=recommend,
39
+ inputs="text",
40
+ outputs="text",
41
+ title="Recomendador de Canciones en Spotify",
42
+ description="Ingresa un texto y obtén una recomendación de canciones.",
43
+ )
44
+
45
+ # Ejecuta la aplicación.
46
+ if __name__ == "__main__":
47
+ iface.launch()