book-recommender
by nalugomesv
README.md
# š Book Recommender
## š Description
This project builds a **Book Recommendation System** powered by **Generative AI** and the **Model Context Protocol (MCP)**.
It uses real data from the **Goodreads dataset** (via Kaggle) and combines Python-based data processing with an AI agent capable of understanding user prompts, translating genres, and recommending books based on **genre**, **page count**, and **ratings**.
The project was developed collaboratively to practice version control, team workflows, and AI tool integration in a real-world Data Science scenario.
---
## āļø Technologies and Tools Used
- **Python 3.11**
- **pandas** ā data manipulation
- **numpy** ā numerical operations
- **tqdm** ā progress tracking
- **OpenAI API** ā language model for the AI agent
- **LangGraph** ā for building the ReAct-style reasoning agent
- **MCP (Model Context Protocol)** ā connects the AI agent to external tools
- **Jupyter Notebook** ā exploratory data analysis and prototyping
---
## š» How to Run the Project
Step-by-step instructions to run it locally:
```
# Clone the repository
git clone https://github.com/nalugomesv/book-recommender.git
# Enter the project folder
cd book-recommender
# (Optional) Create a virtual environment
python -m venv .venv
.\.venv\Scripts\activate # Windows
# or
source .venv/bin/activate # Linux/Mac
# Install dependencies
pip install -r requirements.txt
# Run the core script
python -m src.buscador --genero "romance" --paginas 120
# Or search by title
python -m src.buscador --titulo "Dune"
```
---
## š§© Project Structure
.
āāā src/
ā āāā buscador.py # Core search functions (genre, pages, title)
ā āāā server_mcp.py # Local MCP server exposing tools to the AI agente
āāā notebooks/ # Exploratory and test notebooks
āāā data/ # Dataset (not versioned)
āāā outputs/ # Generated artifacts (ignored)
āāā .env.example # Environment variable example
āāā requirements.txt # Dependencies
āāā README.md # Project documentation
---
## š„ Collaborators
⦠Ana Luiza Gomes Vieira (@nalugomesv)
⦠Arthur Mendes Fernandes (@thuplex)
---
## šÆ Future Improvements
- Add more filtering options (author, publication year, etc.)
- Integrate external MCP APIs (HTTP/SSE)
- Add evaluation metrics (Precision@K, MAP)
- Improve LLM reasoning prompts for more accurate recommendations
---
## š License
This project is licensed under the [MIT License](LICENSE).
---
## š§ Acknowledgments
This project was inspired by the **PrograMaria ā Data & Generative AI Sprint**,
specifically the *Workshop on Predictive Query Models (MCP)* and *Book Recommendation System using Generative AI*.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues