Repository navigation
Configuration
The connector has no third-party Python dependencies.
| Variable / flag | Default | Notes |
|---|---|---|
LLM_BASE_URL |
http://127.0.0.1:8000 |
OpenAI-compatible base, without /v1
|
LLM_DOCKER_ENDPOINT |
http://host.docker.internal:8000/v1 |
Same server from the Cognee container |
LLM_API_KEY |
empty | Bearer token for the local server |
DISTILL_MODEL / --model
|
Qwen3.6-35B-A3B MLX alias | Must match /v1/models exactly |
DISABLE_THINKING |
true |
Sends chat_template_kwargs.enable_thinking=false; disable for endpoints that reject extensions |
COGNEE_API_URL |
http://localhost:8010 |
Host-side Cognee API |
OPENCODE_DB |
~/.local/share/opencode/opencode.db |
Source SQLite path |
--dataset |
opencode_kb |
Cognee destination dataset |
--concurrency |
4 |
Parallel distillation requests |
--add-batch-size |
100 |
Documents per idempotent Add request |
--data-per-batch |
4 |
Documents concurrently processed by the single Cognify run |
--chunks-per-batch |
12 |
Chunks per graph-extraction task batch |
--limit, --offset
|
unset | Smoke tests or manual sharding |
Legacy OMLX_URL and OMLX_API_KEY are accepted as fallbacks.
docker-compose.yml exposes:
| Service | URL |
|---|---|
| Cognee API / Swagger |
http://localhost:8010 / /docs
|
| Cognee UI | http://localhost:3010 |
The browser-facing UI URL must match both CORS_ALLOWED_ORIGINS and UI_APP_URL. A mismatch appears as a generic UI connection error even when /health is healthy.
Cognee needs both an LLM and an embedding model. The included configuration routes both to an OpenAI-compatible server on the Docker host:
LLM_PROVIDER: custom
LLM_MODEL: openai/<chat-model-id>
LLM_ENDPOINT: http://host.docker.internal:8000/v1
LLM_API_KEY: ${OMLX_API_KEY}
EMBEDDING_PROVIDER: openai_compatible
EMBEDDING_MODEL: <embedding-model-id>
EMBEDDING_ENDPOINT: http://host.docker.internal:8000/v1
EMBEDDING_DIMENSIONS: "1024" # must match the modelopenai/ on LLM_MODEL tells LiteLLM to use the OpenAI protocol. openai_compatible embeddings send the embedding model ID verbatim.
Cognee graph extraction is schema-constrained. Local models are configured with:
STRUCTURED_OUTPUT_FRAMEWORK: instructor
LLM_INSTRUCTOR_MODE: json_schema_modeReasoning models additionally receive:
LLM_ARGS: '{"chat_template_kwargs": {"enable_thinking": false}}'See Thinking preamble for why this is a correctness requirement, not cosmetic tuning.
Start at four distill workers and four Cognify documents in flight. Measure completed sessions or documents per hour rather than the UI's single-stream tokens/second.
- Reduce workers when interactive workloads share the same GPU or latency rises continuously.
- Increase carefully when GPU utilization is low and memory pressure is stable.
- Local inference often becomes memory-bandwidth-bound before compute-bound.
-
var/distilled/: accepted distillation output, required for connector resume. -
var/transcripts/: normalized, scrubbed model input for audit. -
progress.json: distillation state only; Cognee owns ingestion state. -
cognee_storage: Docker named volume containing the knowledge base. -
var/log/: launchd stdout/stderr; container logs are rotated by Compose.