This project demonstrates how to build a simple anime search application using Weaviate for vector search and Gradio for creating an interactive UI. The app allows users to search for anime using embeddings stored in a Weaviate database.
Before getting started, ensure you have the following installed on your system:
- Python (3.10.6)
- Docker and Docker Compose
Follow these steps to set up and run the application:
Run the following command to install the necessary Python dependencies:
pip install weaviate-client pandasUse Docker Compose to spin up a Weaviate instance:
docker-compose up -dThis will start a local Weaviate server that will store and manage the anime data.
This dataset has been preprocess so you don't need to run this. But if you want to preprocess a custom dataset, modify the clean-dataset.py file according to your needs. Once modified, run the script:
python clean-dataset.pyThe original dataset from: https://www.kaggle.com/datasets/andreuvallhernndez/myanimelist-jikan
Run the following script to create the anime collection and insert the dataset into the Weaviate instance:
python create-collection.pyWait for the data to be inserted into Weaviate. Once the process is complete, you should see output similar to this:
This process taking pretty much time depend on your dataset.
Run the search application:
python search-anime.pyAfter the script starts, you’ll see a local URL (e.g., http://127.0.0.1:7860). Open this URL in your browser to interact with the app.
enjoy


