This project demonstrates multimodal search capabilities using Weaviate, allowing for combined text and image search functionality.
- Python 3.10 or higher
- Docker and Docker Compose
uv
package manager (recommended) or pip
# Install uv using pip
pip install uv
# Or using curl (recommended)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install dependencies
uv sync
The project uses Weaviate with CLIP for multimodal vector search. Start the services using Docker Compose:
docker-compose up -d
This will start:
- Weaviate instance on port 8080
- CLIP inference API for image/text embeddings
- Ensure your Python environment is activated
- Launch Jupyter:
jupyter notebook
- Open
create_collections.ipynb
in your browser - Execute the notebook cells sequentially
docker-compose.yml
: Docker configuration for Weaviate and CLIP servicescreate_collections.ipynb
: Main notebook with code examplespyproject.toml
: Python project dependencies
- If Weaviate services fail to start, ensure ports 8080 and 50051 are not in use
- Check Docker logs using:
docker-compose logs
- Verify Weaviate is running:
curl http://localhost:8080/v1/meta
To stop the Weaviate services:
docker-compose down