A RAG system for searching and retrieving information from movies data.
Xuve is a command-line tool that allows you to search for movies based on a keyword query. It utilizes a Retrieval-Augmented Generation (RAG) system to provide relevant results from a dataset of movies.
- Keyword-based search for movies.
- Command-line interface for easy interaction.
- Built with Python and the NLTK library.
-
Clone the repository:
git clone https://github.com/xonoxc/xuve.git cd xuve
-
Create and activate a virtual environment:
This project recommends using
uv
to manage the virtual environment.uv venv source .venv/bin/activate
Alternatively, you can use Python's built-in
venv
module:python3 -m venv .venv source .venv/bin/activate
-
Install dependencies:
This project uses
uv
for package management. If you don't have it, install it first (pip install uv
).uv sync
To search for movies, use the search
command followed by your query:
python -m cli.main search "your query here"
python -m cli.main search "a movie about a spy"
.
├── cli/ # Command-line interface logic
├── config/ # Configuration files
├── data/ # Data files
├── decors/ # Decorators
├── lib/ # Core application logic
│ ├── indexes/
├── typedicts/ # Type definitions
├── .gitignore
├── .python-version
├── pyproject.toml
├── pyrightconfig.json
├── README.md
└── uv.lock
- nltk: The Natural Language Toolkit, used for processing text data.
This project is licensed under the MIT License. See the LICENSE
file for details.