- Python 3.10+ (3.12 recommended)
- An OpenAI API key, or AWS credentials with Bedrock access (for generation)
- Optional: a HuggingFace API token, only if using hosted embeddings
python -m venv .venv
source .venv/bin/activate
make installcp .env.example .envSet JWT_SECRET to a real random value (don't ship the default), and either OPENAI_API_KEY or Bedrock credentials. Choose your vector store with VECTOR_STORE=faiss or VECTOR_STORE=chroma (see the README's comparison table if you're unsure).
make runcurl http://localhost:8000/ping
# {"status": "OK"}Change VECTOR_STORE in .env and restart — no code or data migration between stores is provided, since they use different on-disk formats. If you switch after already ingesting documents under the old store, re-ingest them under the new one.
docker build -t docintel-intermediate .
docker run --env-file .env -p 8000:8000 -v $(pwd)/data:/app/src/data docintel-intermediate