Skip to content

Sistema de recomendación de películas que combina embeddings semánticos y un LLM para generar recomendaciones y justificaciones en lenguaje natural.

Notifications You must be signed in to change notification settings

TheRamdomX/RecGPT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RecGPT

Sistema de recomendación de películas que combina embeddings semánticos y un LLM para generar recomendaciones y justificaciones en lenguaje natural.

Características

  • Carga y preprocesado de metadatos de películas y calificaciones (CSV en data/).
  • Generación y persistencia de embeddings usando Chroma + OpenAI Embeddings.
  • Construcción de perfiles de usuario a partir de sus valoraciones.
  • Motor de recomendación que busca películas semánticamente similares y genera explicaciones con un LLM.
  • CLI minimalista (main.py) con comandos init, recommend y health.

Requisitos

Instala dependencias:

python -m venv venv
. venv/bin/activate
pip install -r requirements.txt

Crea un archivo .env en la raíz con al menos:

OPENAI_API_KEY=tu_openai_api_key
CHROMA_DIR=./chroma_store
EMBEDDING_MODEL=text-embedding-3-large
GPT_MODEL=gpt-4.1-mini

Cargar Dataset (Sin links)

Uso (CLI)

  • Inicializar y procesar CSVs:
python main.py init --data-path ./data --save
  • Generar y guardar embeddings (costoso, requiere OPENAI_API_KEY):
python main.py init --data-path ./data --save-embeddings
  • Generar recomendaciones para un usuario (JSON):
python main.py recommend --user-id 1 --mode json --top-n 20
  • Recomendaciones en lenguaje humano:
python main.py recommend --user-id 1 --mode human --top-n 10

Notas técnicas

  • src/data_loader.py: carga y une movies_metadata.csv, keywords.csv, credits.csv y ratings.csv.
  • src/preprocessing.py: crea descripciones por película que se usan para generar embeddings.
  • src/embeddings_store.py: construye o carga la base Chroma de embeddings.
  • src/user_profile.py: crea el vector de perfil del usuario a partir de los embeddings de las películas valoradas.
  • src/recommender.py: orquesta el flujo y filtra candidatos ya vistos antes de llamar al LLM (src/llm_justifier.py).

About

Sistema de recomendación de películas que combina embeddings semánticos y un LLM para generar recomendaciones y justificaciones en lenguaje natural.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages