Editions
Community for the open team. Pro for production scale.
Same engine core, packaged for two very different needs. Community ships under AGPL-3.0 as a single binary you run. Pro adds a structured-data warehouse, hybrid retrieval, a smart scheduler and an admin panel — for teams that need to query thousands of documents as data, not just text.
Community
AGPL-3.0 · open-source
Sovereign RAG, one binary away.
- One binary — it starts its own vector store and inference engine
- Vector retrieval with 100+ language embeddings, computed in-process
- Consistent daily backup and restore over the running install
- NVIDIA GPU used automatically when present, CPU-only otherwise
- No network needed at all after the first run
Pro
Commercial license
Production-grade for regulated workloads.
- Custom EuLLM inference engine (sovereign default)
- Hybrid retrieval: vector + BM25 + cross-encoder rerank
- LLM-powered extraction into a SQL warehouse
- Smart scheduler with live user coordination
- Scheduled backup to storage outside the box
- Admin panel + fully air-gapped offline mode
Shared foundation
Both editions run entirely inside your perimeter. No outbound calls, no telemetry, no managed dependencies.
- JWT authentication with three roles, enforced at the retrieval layer
- A web UI and a REST API over the same engine
- Qdrant vector store (Berlin-built, open-source)
- Local LLM inference — the model runs on your own hardware
- Tesseract OCR so scanned pages become searchable
- PDF, DOCX, XLSX, HTML, TXT, Markdown and CSV
- Different default ports — both editions can run on the same host
What Pro adds
Seven concrete capabilities that the open Community edition does not ship.
Custom EuLLM inference engine
Pro ships with EuLLM as the default generation backend: an EU-sovereign LLM inference stack built around GGUF weights, with continuous batching and a 16K-token context window. Ollama remains available as a fallback profile for evaluation.
- Continuous batching for high throughput on single-GPU hosts
- 16K context window for long contracts, transcripts and reports
- Fully air-gapped: offline HuggingFace mode, no calls home
- Compatible with Mistral 7B (built in France) and other GGUF models
Hybrid retrieval
Pure vector search misses precise keyword matches; pure BM25 misses semantics. Pro runs both, fuses them with Reciprocal Rank Fusion, and reranks the result with a cross-encoder.
- Vector + BM25 with configurable lexical-semantic balance
- Cross-encoder reranking for top-K precision
- Multi-query expansion for ambiguous questions
- Query analytics on every step of the pipeline
Structured data warehouse
Pro exclusivePro doesn't just index your documents — it extracts entities, events and amounts into a normalized relational database. That database becomes a source of verified facts the chat pipeline can quote with provenance.
- Six-table schema: extraction jobs, entities, events, amounts, progress, document summaries
- Indexed columns and foreign keys — analytical queries are fast
- SQLite with WAL today; PostgreSQL-portable when you outgrow it
- Four domain profiles: Generic, Intelligence/OSINT, Medical, Legal
- Pydantic validation with automatic recovery for malformed LLM JSON
- Every extracted fact links back to its source chunk for audit
Query router
A small classifier decides at runtime whether your question is aggregate, semantic or hybrid — then routes it to the right backend and assembles the answer.
- Aggregate questions (count, list, group-by, date filters) → SQL warehouse
- Semantic questions ("why", "how", "explain") → vector retrieval
- Hybrid questions get both: SQL facts injected into the LLM prompt as "verified data", retrieved chunks as context
- Deterministic, transparent, and inspectable per request
Smart scheduler with live coordination
Extraction is a heavy job. Pro coordinates it with the people actually using the system, instead of crashing the chat experience.
- Configurable run time (default 20:00); checks every 60 seconds
- Connected users get a WebSocket notification before extraction starts
- Confirm now, or postpone — up to 3 times, 15 minutes each
- Dynamic model switch during extraction: chat drops from 14B to 8B to free VRAM, then restores
- Per-document checkpoints: resume without restarting from zero
Hands-free ingestion + admin panel
Drop a file in a watched folder and it lands in both the vector index and the extraction queue. The admin panel gives operators a single pane of glass.
- Folder watcher for batch ingestion — no manual upload step
- Extended OCR pipeline for handwritten forms, multi-column scans and low-quality faxes
- Resource monitoring (CPU, memory, GPU) inside the UI
- Service control: restart components from the admin panel
- Extraction job dashboard with status, errors and manual rerun
- Configuration UI for scheduler, retention and model selection
Backup that leaves the machine
Pro exclusiveCommunity keeps a consistent daily archive — the application database and a vector snapshot taken together — but it keeps it as a local file, on the same host as the thing it is protecting. That is a good backup and a poor disaster-recovery story. Pro sends it somewhere else, on a schedule, with a retention policy.
- Scheduled copies to storage you already run: S3-compatible object storage, WebDAV / Nextcloud, SFTP, FTP, Backblaze B2
- Retention policies, so old archives age out instead of filling the volume
- Selective restore — bring back the database, the vector index or the source documents independently
- Credentials for the destination are stored obscured, never in plain text
- Backup and restore endpoints are admin-only, with path-traversal protection on archive extraction
- The database is copied online: no downtime and no risk of a half-written snapshot
Community covers 80% of cases
Most teams don't need an extraction warehouse — and Community is the right choice for them.
- Best fit: departments and single-host deployments where the job is finding answers inside your own documents
- Killer feature: it is one binary. No Docker, no Compose, nothing to orchestrate, and no network after the first run
- AGPL-3.0 means you can audit it, modify it and embed it in your own AGPL-compatible work
- No commercial contract, no vendor dependency — fork it the day we stop maintaining it
When to choose Pro
If any of these are true, the Pro edition pays for itself quickly.
- You need aggregate queries over thousands of documents (count, list, group-by, filter by date)
- Compliance requires deterministic structured outputs (KYC, regulatory reporting, audit trails)
- You operate in a regulated vertical — legal, healthcare, intelligence/OSINT, defense — and benefit from a domain-tuned extraction profile
- You need full air-gapped operation, including offline models and offline metadata
- Your disaster-recovery policy requires backups held off the machine that produced them
- You already run Community and want Pro side-by-side on the same hosts during evaluation
Designed to coexist
Pro and Community use different default ports so you can run both on the same hardware during evaluation or migration.
| Component | Community | Pro |
|---|---|---|
| Web UI | :8000 | :3002 |
| API | :8000 | :8001 |
| Qdrant | :6333 | :6334 |
| LLM engine | managed by the binary | :11435 |
Community serves its UI and its API on the same port, and manages the vector store and the inference engine itself. Same data formats either way: moving from Community to Pro is a configuration change and a licence key, not a re-ingestion.
Start where you are. Upgrade when you need to.
The Community edition is on GitHub today. For Pro, book a 30-minute call and we'll come back with a deployment proposal in two working days.
Ready to run RAG on your own infrastructure?
Start with the open-source Community edition, or talk to us about Pro with structured extraction, SSO, audit log and SLA.