Proyecto de ejemplo para generar un índice centrado (para Pearson) a partir de un CSV de reseñas y arrancar una API que sirve recomendaciones.
Este repositorio ignora los archivos .csv por defecto (ver .gitignore). Para preparar los datasets (y los scripts de limpieza) se usa el repositorio ProofOfConcept:
Pasos mínimos (resumido — las instrucciones completas están en el README del repo anterior):
- Descarga
steam_reviews.csv(p. ej. desde Kaggle: https://www.kaggle.com/datasets/najzeko/steam-reviews-2021/data). - Clona o sitúa ese CSV en
CC65-TP-202502-ProofOfConcept/data/. - Desde la carpeta
CC65-TP-202502-ProofOfConcept/data/ejecuta los scripts de limpieza indicados en ese repo para generarsteam_reviews_clean.csvy luego ejecuta subuild_pearsonpara obtenerclean_pearson.csv. - Copia los CSV resultantes a este proyecto (o apunta aquí con las variables de entorno
STP_RAW/STP_CLEAN).
Rutas usadas por la aplicación aquí:
data/steam_reviews_clean.csv— CSV crudo esperado porcmd/build_pearson.data/clean_pearson.csv— CSV final que carga la API.
Esto evita duplicar instrucciones: para detalles de flags y limpieza, sigue el README del repo ProofOfConcept.
La API carga clean_pearson.csv y (opcionalmente) el CSV crudo para construir un catálogo de aplicaciones. Usa las variables de entorno STP_CLEAN y STP_RAW para apuntar a los archivos si están en rutas no estándar.
Ejemplo (PowerShell):
# Opcional: apuntar explícitamente a los archivos (solo si están fuera de las rutas por defecto)
$env:STP_CLEAN = "data\\clean_pearson.csv"
$env:STP_RAW = "data\\steam_reviews_clean.csv"
$env:PORT = "8080"
go run .\cmd\apiTambién puedes compilar la API:
go build -o bin\api .\cmd\api
.\bin\apiRutas HTTP disponibles (resumen):
GET /health— chequeo de estado.GET /users/dense— lista de usuarios densos.GET /users/{id}/profile— perfil de usuario.GET /users/{id}/recommendations— recomendaciones para un usuario.GET /users/{id}/recommendations/explain— explicación de recomendación.GET /users/{id}/neighbors— vecinos por similitud.GET /apps/{id}— info de una app.
Ejemplo simple con PowerShell (comprobar health):
Invoke-RestMethod -Uri http://localhost:8080/health- Coloca el CSV crudo
steam_reviews_clean.csvendata/. - Ejecuta
build_pearsonpara generardata/clean_pearson.csv. - Arranca la API (
cmd/api) y prueba los endpoints.