This is an open-source implementation of the Headjack search service specification.
Install Headjack Search Service.
pip install headjack-search-service
Start the service.
headjack-search-service --host 0.0.0.0 --port 16410
You can configure the service with the following environment variables.
Environment Variable | Description | Example |
---|---|---|
HSS_CHROMA_API_IMPL | Chroma API implementation (rest or local) | rest |
HSS_CHROMA_DB_IMPL | Chroma DB implementation | duckdb+parquet |
HSS_CHROMA_HOST | Chroma DB Host | 0.0.0.0 |
HSS_CHROMA_PORT | Chroma DB Port | 16411 |
HSS_CHROMA_PERSIST_DIRECTORY | The directory to persist data (local mode only) | /chroma/data/index |
To use the docker compose demo, clone this repository.
git clone https://github.com/KnowledgeForge/headjack-search-service
cd headjack-search-service
Pull the chroma repo that's included as a submodule.
git submodule init
git submodule update
Start the docker compose environment.
docker compose up
HSS is now available at http://localhost:16410.
curl -X 'GET' \
'http://localhost:16410/query/?text=How%20were%20our%20Q1%20earnings%20this%20year%3F&collection=knowledge&n=1' \
-H 'accept: application/json'
You can find the swagger docs for the API at http://localhost:16410/docs.
note: If you're seeing poor performance of the chroma container on an M1 Mac, make sure you are not using QEMU emulation.