This project demonstrates how to run Weaviate locally and use it for semantic search over JSON documents.
- Run Weaviate locally with Docker Compose
- Create a Weaviate collection/schema
- Load JSON data into Weaviate
- Generate embeddings locally with SentenceTransformers
- Search documents by semantic similarity
- Verify that data is indexed and searchable
- Docker
- Docker Compose
- Python 3.10+
Start Weaviate:
docker compose up -dCreate the schema:
python scripts/01_create_schema.pyImport the sample documents:
python scripts/02_import_data.pySearch the data:
python scripts/03_search.pyVerify that objects are stored in Weaviate:
python scripts/04_check_data.pyweaviate-research/
├── docker-compose.yml
├── requirements.txt
├── data/
│ └── documents.json
├── scripts/
│ ├── 01_create_schema.py
│ ├── 02_import_data.py
│ ├── 03_search.py
│ └── 04_check_data.py
└── README.md