Queleo es un sistema de recomendación de libros que funciona mediante búsqueda semántica en el espacio vectorial. En lugar de basarse en coincidencias exactas de palabras clave, interpreta el significado de lo que el usuario quiere leer y sugiere libros que encajan con esa intención.
Las descripciones de los libros se transforman en vectores utilizando modelos de embedding.
Los vectores se almacenan en Milvus, que permite buscar por similitud semántica.
El usuario puede escribir libremente lo que le apetece leer (por ejemplo: “algo de realismo mágico con un tono melancólico”).
La consulta se reformula con un LLM y se convierte también en un vector. Se recuperan los libros más cercanos en el espacio vectorial.
Queleo cuenta con una interfaz basada en Streamlit y un backend construido con FastAPI, todo desplegado con Docker.
- Python (FastAPI, Streamlit)
- Modelos de embeddings (BAAI/bge-base-en-v1.5, intfloat/e5-base-v2, text-embedding-3-large)
- LLM (gpt-3.5-turbo)
- Milvus (Vector Database)
- Docker + Docker Compose
Ayudar a los lectores a descubrir libros que "resuenen con lo que sienten que quieren leer", incluso si no saben cómo expresarlo con precisión.
xcode-select --install
pyenv install 3.11.9
pyenv virtualenv 3.11.9 tfm_311
pyenv activate tfm_311
pip install --upgrade pip setuptools wheel cython
pip install ipykernel pandas numpy sentence_transformers ipywidgets pyarrow pymilvus fastapi uvicorn streamlit watchdog matplotlib wordcloud tqdm openai
python -m ipykernel install --user --name tfm_311 --display-name "Python (tfm 3.11)"
pyenv deactivate
pyenv virtualenvs
pyenv uninstall tfm_311
pyenv uninstall -f 3.11.9