Documents are everywhere, but answers take too long.
Knowledge is scattered across wikis, PDFs, HWP files, and chat. Search rarely tells you what is current or where it lives.
v0.6.0 first release · One-line Mac mini start · MIT
Baryon AX connects documents, expert know-how, and memory so employees can find answers with sources immediately. Data stays inside the company, and every answer is auditable.
On-premises AI for DX and AX leaders. Start on a Mac mini without a GPU, then connect your own models when needed.
At a glance
See the whole flow in a six-second loop: documents meet a question, become a grounded answer, and leave an audit record.
See how it worksWhy it matters
Employees struggle to find answers, experts repeat the same explanations, and security teams worry about company documents leaving the building.
Knowledge is scattered across wikis, PDFs, HWP files, and chat. Search rarely tells you what is current or where it lives.
Decision criteria and exceptions are not written down, so the same questions return and onboarding takes longer.
Data-export, permission, and audit concerns block security approval, so even a PoC is hard to start.
Baryon AX solves all three with an on-premises AI.
What changes
The answers DX and AX leaders need for their adoption reviews.
Find evidence in company documents and know-how, with sources attached.
Scattered search → one questionCapture the criteria experts keep in their heads and turn them into searchable documents.
Private memory → searchable knowledgeData stays on-prem, permissions stay intact, and every answer leaves an audit record.
Data-export worry → controlled by defaultA Mac mini and Docker are enough. Connect a GPU only when needed.
Hardware procurement → one Mac mini lineHow it works
Scroll to see how an answer is built.
“What is the contract renewal process?” A chat question is enough to start.
It searches documents, tacit knowledge, and memory, excluding anything outside the user's permissions.
Each answer shows document and chunk citations. If there is no evidence, it warns instead of guessing.
Who asked, what was answered, and which sources were used. Security teams can review it.
Security
You do not need to put company documents into an external SaaS. Data location, permissions, and audit are part of the default setup.
On-premises deployment. Documents, vectors, and audit logs stay in your environment. Models can run on your own GPU or in an air-gapped network.
Organization, role, and document ACLs are applied during retrieval. Citations expose metadata only; full text requires permission.
Every question, answer, and source is recorded as an audit event. PII masking and Langfuse traces are included.
Security CI
Every code change is scanned for vulnerabilities and secrets; P0/P1 findings block the merge. A weekly job scans images, SBOMs, and the full git history.
One-line start
Install Docker Desktop and paste the line below into Terminal. No GPU or API key required.
git clone https://github.com/baryonlabs/baryon-ax.git && cd baryon-ax && cp .env.example .env && docker compose up --build
http://localhost:3001.The demo model works out of the box. Set MODEL_BASE_URL and MODEL_NAME to connect a real model. See the B300 deployment guide for on-prem GPU and air-gapped setups.
Technical support
Ask us on GitHub Issues about security questionnaires, Mac mini installation, model connection, parsers, and pipeline setup.
If the one-line start fails, send us the command and logs.
We can map data location, ACLs, and audit items to your review.
We review model connection, parser setup, and production rollout with you.
Deeper dive · Features
Supported formats, tacit knowledge, screens, help, and docs continue below.
Streaming, model selection, RAG toggle, stop/regenerate/copy, 👍/👎 feedback, and a step-by-step pipeline trace.
MIME-based routing for HWP, HWPX, PDF, Office, images, and text, with structure-aware chunking.
All supported formatsGap → question → answer → publish → verify → reuse. Turn judgment calls and exceptions into searchable knowledge.
Why it worksCluster ungrounded questions, surface missing-data hints, and draft ontology packs for the next knowledge cycle.
Mem0-backed long-term memory stored, searched, and injected into answers by relevance.
Organization/role ACLs, document permission changes, audit events, admin settings, and system status.
Langfuse traces, per-step latency, storage, memory, CPU, process, and container cards.
Basic Core runs on 2 vCPU · 4GB RAM · no GPU. Full stack needs 8 vCPU · 16GB, and 7B GPU inference starts with an RTX 4090 24GB. Scale to B300/27B when needed.
Hardware requirementsSupported formats
The parser is selected by file content (MIME), not by the extension. A file with the wrong extension is still routed to the parser that matches its bytes.
For example, an HWP file named .pdf is detected by its bytes and sent to kordoc. ZIP-based formats are opened to distinguish DOCX, XLSX, PPTX, and HWPX.
| Parser | Formats | Extensions | Requires | Notes |
|---|---|---|---|---|
| Built-in text | TXT, Markdown, CSV, JSON, XML, plain UTF-8 text | .txt .md .markdown .mdown .csv .json .xml |
Basic Core | Markdown preserves headings, lists, and tables. CSV, JSON, and XML are extracted as text; table and schema structuring is not applied yet. |
| kordoc | HWP, HWPX, HWPML | .hwp .hwpx .hwpml |
parser profile | Korean documents. Handles HWP binaries, HWPX ZIP containers, and HWPML XML. |
| docling | PDF, DOCX, XLSX, PPTX, HTML, PNG, JPEG, WebP, TIFF | .pdf .docx .xlsx .pptx .html .htm .png .jpg .jpeg .webp .tif .tiff |
parser profile | Uses layout, table, and OCR models. The first run downloads models; in an air-gapped network, mount the /models cache. |
| Apache Tika | DOC, XLS, PPT, RTF, OLE2/ZIP containers | .doc .xls .ppt .rtf (MIME-based) |
Tika sidecar | Legacy fallback. Tika extracts text; structure is preserved at the text level. |
GIF, BMP, SVG, ODT/ODS/ODP, EPUB, EML/MSG are not in the current parser list. GIF is MIME-recognized but has no parser attached. Add an adapter if you need one.
Run the parser sidecars: docker compose -f docker-compose.yml -f docker-compose.parsers.yml --profile parsers up -d --build · Quick start
Tacit knowledge loop
The AI does not invent the answer. It surfaces the judgment your experts already hold and turns it into a searchable, citable, auditable document. The key is that published tacit knowledge follows the same pipeline as any uploaded document.
Answers that lack grounding or are vague are recorded as knowledge gaps, together with the question, reason, and occurrence count.
record_knowledge_gap · /v1/admin/gapsOpen gaps go to the front of the question queue, backed by templates for judgment criteria, onboarding, permissions/exceptions, terminology, and troubleshooting.
suggest_questions · /v1/tacit/questionsAn expert writes the conclusion plus the reasoning and exception conditions, and can attach existing documents. Only the author or an administrator can edit the draft.
TacitStore · POST/PATCH /v1/tacit/entriesA Markdown document titled # 암묵지: {question} is created and sent through the same parse, chunk, embed, and Qdrant indexing pipeline as an upload.
Check whether the published answer resolved the original gap, and re-check ontology-pack coverage against its accepted questions.
knowledge.gap_resolved · verify_packThe published document is cited in later chats. Unresolved gaps return to the question queue and the cycle repeats.
retrieval · citations · GET /v1/tacit/entriesThe key
Publishing creates a normal Markdown document and runs the same ingest pipeline. That is why it is retrievable, citable, and covered by the same document ACLs — with no second knowledge base to maintain.
There is no separate tacit-knowledge store. A published answer follows the same ingest pipeline as any document, so retrieval, chunking, embeddings, and citations come for free.
Gap → question → answer → published document stays linked. The provenance panel shows the generation path, original gap, reason, occurrence count, key terms, and published document.
Answers and attachments follow organization and role ACLs; only the author or an administrator can edit a draft. tacit.recorded, tacit.published, and knowledge.gap_resolved are written to the audit log.
Check whether the published answer resolved the gap. If an ontology pack exists, re-check coverage against its accepted questions. Unresolved gaps return to the queue.
| Role | Does | Does not |
|---|---|---|
| AI | Detect gaps, suggest questions, parse, chunk, embed, retrieve, cite, cluster. | Invent judgment criteria. |
| Expert | Write the reasoning and exceptions, not just the conclusion; attach existing documents. | Publish without review. |
| Admin | Review publication, confirm gap closure, verify ontology-pack coverage. | Read documents outside their permissions. |
Real screens
Qwen3.5-27B (vLLM), Qdrant, PostgreSQL, Redis, Langfuse, and Mem0 connected, captured as an administrator.
B300 is the validation environment. The minimum setup starts with Basic Core at 2 vCPU · 4GB RAM · no GPU.




Help
The most common issues around installation, models, parsers, retrieval, and permissions — with fixes.
If MODEL_BASE_URL is empty, Baryon AX uses the demo model. Set an OpenAI-compatible endpoint and model name. Ollama binds to 127.0.0.1 by default, so containers need a proxy.
MODEL_BASE_URL=http://host.docker.internal:11435/v1
MODEL_NAME=qwen2.5:7bThe default Compose profile does not include parser sidecars. Start the parser profile and check KORDOC_URL and DOCLING_URL.
docker compose -f docker-compose.yml \
-f docker-compose.parsers.yml \
--profile parsers up -d --buildWithout QDRANT_URL, retrieval falls back to lexical search. Connect Qdrant, reindex as an administrator, and check document ACLs, categories, and tags.
curl -X POST http://localhost:8000/v1/admin/reindex \
-H 'X-User-Id: admin' \
-H 'X-Organization-Id: demo' \
-H 'X-Roles: admin'In development, set the role with X-Roles: admin. Replace these development identity headers with OIDC/JWT before production.
X-User-Id: demo-admin
X-Organization-Id: demo
X-Roles: adminThe UI uses 3001, API 8000, Langfuse 3000, PostgreSQL 5433, Redis 6379, and Qdrant 6333. Change the Compose ports if another service owns them.
lsof -i :3001
lsof -i :8000
docker compose psDocument, audit, feedback, and tacit stores live in Compose volumes under /data. Back up first; deleting volumes is destructive.
docker compose logs -f api web
docker compose down
# Deleting volumes loses data. Back up first.Baryon AX is an open-source, on-premises AI agent platform that runs grounded RAG over your own documents, tacit knowledge, and memory, then answers with source citations. It ships with organization and role access control, audit logging, and model-agnostic inference, so enterprise knowledge is retrieved, cited, and audited without leaving your network.
Yes. Install Docker Desktop on an Apple Silicon Mac mini, then paste git clone https://github.com/baryonlabs/baryon-ax.git && cd baryon-ax && cp .env.example .env && docker compose up --build into Terminal. The demo model runs without a GPU or API key; connect an on-prem GPU or any OpenAI-compatible model when needed. If installation is blocked, technical support can help.
The Basic Core runs on 2 vCPU, 4GB RAM, and 10GB disk with the demo model. The full stack (Qdrant, PostgreSQL, Redis, Langfuse, Mem0) recommends 8 vCPU, 16GB RAM (32GB recommended), and 100GB disk. GPU inference starts with an RTX 4090 24GB for a 7B model. See hardware requirements.
Yes. Baryon AX runs fully offline with no outbound calls required. Mirror the Docker images, model weights, and packages, then keep the model, vector store, and document stores inside your network. See the open-source component and license inventory for what to mirror.
Any model that exposes an OpenAI-compatible API. Ollama qwen2.5:7b and vLLM Qwen3.5-27B on B300 GPU 7 are validated. Without a model, the demo-local fallback still demonstrates the UI and flow.
HWP and HWPX through the kordoc parser, PDF, Office formats (DOCX, XLSX, PPTX), images, and plain text through docling, and legacy formats through Tika, all selected by MIME type. Parsed text is chunked with structure awareness before indexing in Qdrant, and original files stay in your own document store. See supported formats for the complete list.
Every answer carries document- and chunk-level citations pointing at the exact passage used, and the pipeline trace shows each retrieval and generation step with its latency. When retrieval finds no usable grounding, Baryon AX says so instead of guessing, and source files open only after the requester passes the organization and role ACL check.
Yes. The kordoc sidecar parses HWP/HWPX, docling handles PDF, Office, and images, and Tika covers legacy formats. Start the parser profile; MIME-based routing selects the parser automatically.
Original files and parsed text live in DOCUMENT_STORE, vectors in Qdrant, audit events in PostgreSQL plus a JSONL mirror, and memory in Mem0/Qdrant. Feedback, tacit knowledge, and knowledge gaps use their own JSONL stores. All stores remain inside your environment.
Every pull request runs security-sweep for dependency CVEs, secrets, and configuration errors; P0/P1 findings block the merge. A weekly job scans images, SBOMs, and the full git history. For production, follow the security baseline for OIDC/JWT and secret management.
MIT. Commercial use, modification, and distribution are allowed with attribution. See LICENSE.
Open a GitHub Issue with reproduction steps and expected behavior. Report security vulnerabilities privately using SECURITY.md. See CONTRIBUTING.md for code contributions.
Documentation
Installation, architecture, operations, security, and UX principles live in the repository docs.