Skip to content

Configuration ​

All DocIntel settings are managed via environment variables (or a .env file). Settings are grouped into nested sections — set them with a double-underscore delimiter.

bash
# Example: set the LLM provider
LLM__PROVIDER=openai
LLM__API_KEY=sk-...

Server ​

VariableDefaultDescription
SERVER__HOST0.0.0.0Bind address
SERVER__PORT8200Bind port
SERVER__WORKERS2Uvicorn worker count
SERVER__LOG_LEVELinfoLog level (debug, info, warning, error)
SERVER__CORS_ORIGINS*Comma-separated allowed CORS origins
SERVER__API_KEY(empty)Bearer token required on all API calls
SERVER__MAX_UPLOAD_MB100Maximum file upload size in MB
SERVER__MAX_CONCURRENT_JOBS10Max simultaneous background pipeline jobs

LLM ​

VariableDefaultDescription
LLM__PROVIDERopenaiopenai · anthropic · gemini · ollama
LLM__API_KEY(empty)API key for the chosen provider
LLM__MODELgpt-5.6-terraOverride the default model (usually set via ModelRegistry)
LLM__BASE_URL(none)Custom endpoint URL (for Ollama, Azure, etc.)
LLM__TEMPERATURE0.0LLM temperature for extraction prompts
LLM__MAX_TOKENS4096Max response tokens
LLM__TIMEOUT_S60Per-call timeout in seconds

Model Registry ​

All profiles use models from the central ModelRegistry. Override the four tiers by setting LLM__MODEL or editing config.py:

TierDefault ModelUsed By
FLAGSHIPgpt-5.6-solAEC, Contract
DEFAULTgpt-5.6-terraFinancial, Scientific, General
VISIONgpt-5.6-solImage / sketch parsing
NANOgpt-6-lunaHigh-volume, cost-sensitive extraction

LLM Windows ​

Controls how document text is windowed before being sent to the LLM.

VariableDefaultDescription
LLM_WINDOW__SIZE1000Characters per extraction window
LLM_WINDOW__OVERLAP100Overlap between adjacent windows
LLM_WINDOW__MIN_SIZE50Minimum window size (smaller chunks are merged)
LLM_WINDOW__WINDOW_CONCURRENCY8Max concurrent LLM calls per document (1–64)
LLM_WINDOW__JOB_TIMEOUT_S600Per-document wall-clock timeout (0 = unlimited)

OCR ​

VariableDefaultDescription
OCR__ENABLEDtrueEnable OCR for scanned / image documents
OCR__ENGINEtesseracttesseract · azure_doc_intel · google_vision · textract
OCR__AZURE_ENDPOINT(none)Azure Document Intelligence endpoint
OCR__AZURE_KEY(none)Azure Document Intelligence key
OCR__GOOGLE_CREDENTIALS_JSON(none)Path to Google Cloud credentials JSON
OCR__AWS_REGIONus-east-1AWS region for Textract
OCR__LANGUAGESenComma-separated OCR languages

Sketch / Vision ​

VariableDefaultDescription
SKETCH__ENGINEopenai-visionopenai-vision · azure-vision · google-vision · local
SKETCH__MODELgpt-5.6-solVision model ID
SKETCH__DETAIL_LEVELhighOpenAI image detail: low · high · auto
SKETCH__MAX_TOKENS2048Max tokens for vision model response
SKETCH__CONFIDENCE_THRESHOLD0.5Minimum confidence for labels / objects

Purple8 Graph (optional) ​

Connection to Purple8 Graph for knowledge graph emission. Not required — DocIntel works standalone.

VariableDefaultDescription
GRAPH__BASE_URLhttp://localhost:8100Purple8 Graph API URL
GRAPH__API_KEY(empty)Graph API authentication key
GRAPH__TENANT_ID(none)Multi-tenant tenant ID
GRAPH__AUTO_COMMITtrueAuto-commit extracted data to Graph
GRAPH__TIMEOUT_S30Connection timeout

Licensing ​

VariableDefaultDescription
LICENSE__KEY(optional)Cryptographically signed license key string (omit for Community tier)
LICENSE__ENFORCEtrueSet false to disable license enforcement (dev mode)
LICENSE__GRACE_PERIOD_HOURS72Hours to allow after license expiry before blocking

See Licensing & Installation for how to obtain and activate your license key.

Storage ​

DocIntel uses an embedded durable p8l log (SessionContentStore) at /data/docintel_jobs.p8l out of the box — no external Redis or database sidecar required.

VariableDefaultDescription
STORAGE__TEMP_DIR/tmp/purple8_docintelTemporary file directory

Example .env ​

bash
# === Required ===
LLM__API_KEY=sk-proj-...
SERVER__API_KEY=my-secret-api-key-32chars-min

# === License (optional) ===
LICENSE__KEY=eyJ0aWVyIjoicHJvIi...

# === LLM ===
LLM__PROVIDER=openai
# LLM__BASE_URL=http://localhost:11434  # Uncomment for Ollama

# === OCR ===
OCR__ENGINE=tesseract

# === Graph (optional) ===
# GRAPH__BASE_URL=http://localhost:8100
# GRAPH__API_KEY=graph-api-key

# === Storage ===
STORAGE__JOB_STORE=memory
# STORAGE__JOB_STORE=redis
# STORAGE__REDIS_URL=redis://localhost:6379/0

# === Server ===
SERVER__PORT=8200
SERVER__WORKERS=1
SERVER__LOG_LEVEL=info
SERVER__MAX_UPLOAD_MB=100
SERVER__MAX_CONCURRENT_JOBS=10

Purple8 DocIntel v0.12.5 · Universal Document Intelligence · NVIDIA Inception Member · Red Hat Technology Partner.