/headjack-search-service

Primary LanguagePythonApache License 2.0Apache-2.0

Headjack Search Service (HSS)

This is an open-source implementation of the Headjack search service specification.

Getting Started

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

Docker Compose Demo

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.