- Default Setup
- Embedded Setup
This walks the production path: PostgreSQL + pgvector + Neo4j with the default
VectorCypher engine. For embedded options (SQLite + LanceDB), see Configuration.Setup databases
As Khora is meant to be used as a library, it has no built-in server and is made to work with existing databases.For local development, the Khora repo ships a Then export connection URLs via environment variables in
compose.yaml that get’s you up and running with our recommended stack: Postgres (with pgvector) and Neo4j .envRun migrations
Khora ships its schema as Alembic migrations. Run them once per database:Or instantiate
Khora(..., run_migrations=True) to apply on connect under an advisory lock, useful for single-process apps and tests.Store a memory
remember() runs the 3-phase ingestion pipeline (stage → enrich → expand). recall() returns a RecallResult projection with chunks (typed RecallChunk), entities, relationships, and documents (deduplicated source documents). Build prompt context by iterating result.chunks. Each carries .content, .score, .id, and .document_id.Next steps
tune
Configuration
Every
KHORA_* knob: storage, LLM, pipeline, query, telemetry.settings_input_component
VectorCypher
How the retrieval engine fuses vector, graph, and keyword search with query routing and RRF.