Skip to content

Back to the catalog

yuezhiai/jonex
github.comrepo

yuezhiai/jonex

Jonex is an open-source enterprise AI knowledge platform that combines multimodal document/video parsing with an ontology-based knowledge compiler, indexing content into both a vector store (Milvus) and a knowledge graph (Neo4j) for source-grounded retrieval. It exposes ontology-first hybrid search APIs with reasoning traces and references, and integrates with LightRAG, RAG-Anything, and MinerU for graph-enhanced retrieval and document parsing, plus an MCP server for tool exposure.

TL;DR Self-hosted ontology+graph+vector RAG platform for turning enterprise documents into agent-queryable, source-grounded knowledge.
Document

What it claims

Jonex ships as a full multi-service platform (frontends, gateway, LLM gateway, RAG services, parser, MCP server), not a library. It runs from Docker Compose with make targets on macOS and Linux and a PowerShell script on Windows. It needs at least one OpenAI-compatible LLM endpoint and one embedding endpoint that you supply. The licence is not plain Apache 2.0, so check it before building on the code.

How it works

Content enters through file upload, a REST API source, or an S3-compatible source. A selectable "parser profile" handles parsing. The parser can be:

  • the bundled Atomic RAG parser,
  • the same parser run as an independently scaled service, or
  • any compatible parser service you register.

Video is processed either locally (ASR, keyframes, VLM) or routed to a configured cloud service. The ontology is compiled before indexing into Milvus and Neo4j. In production the browser talks only to the Frontend Gateway; business APIs and infrastructure are not exposed to the frontends.

flowchart LR
  B[Browser] --> FG[Frontend Gateway]
  FG --> API[Business APIs]
  API --> P{Parser profile}
  P --> AR[Atomic RAG parser]
  P --> EXT[Registered external parser]
  API --> V{Video}
  V --> LOC[Local ASR + keyframes + VLM]
  V --> CLD[Cloud media service]
  AR --> K[Ontology compile]
  EXT --> K
  LOC --> K
  CLD --> K
  K --> M[Milvus]
  K --> N[Neo4j]
  API --> LLM[LLM Gateway → OpenAI-compatible upstreams]

How to use it

Requirements: Docker Engine or Desktop, Compose v2 with Buildx, and make. The first build downloads images, Python dependencies and RAG models, so expect it to take time and disk space.

git clone https://github.com/yuezhiai/jonex.git
cd jonex
make init

make init generates deploy/.env, deploy/.env.rag, deploy/.env.mcp and the frontend .env files.

Set the upstream endpoints in deploy/.env:

LLMGW_UPSTREAM_LLM_HOST=https://your-openai-compatible-host/v1
LLMGW_UPSTREAM_LLM_API_KEY=your_llm_api_key
LLMGW_UPSTREAM_EMBED_HOST=https://your-embedding-host/v1
LLMGW_UPSTREAM_EMBED_API_KEY=your_embedding_api_key

Keep these values identical across deploy/.env and deploy/.env.rag:

  • EMBEDDING_MODEL, which builds the vector index
  • LIGHTRAG_API_KEY

Audio, video and advanced image processing also need VLM and ASR connections configured.

make build
make up
make ps

Open http://localhost/ and log in as admin / admin123, tenant tenant_jonex_demo. On Windows, use .\jonex.ps1 init|build|up|ps|logs|down.

Search API: log in first.

curl -X POST "http://localhost/api/v1/auth/login" \
  -H "Content-Type: application/json" \
  -H "X-Tenant-ID: tenant_jonex_demo" \
  -d '{"username":"admin","password":"admin123"}'

Then call the search endpoint with the returned token:

curl -X POST "http://localhost/api/v1/knowledge-base/search/ontology" \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "What are the key risks described in these documents?",
    "knowledge_base_ids": ["<knowledge-base-id>"],
    "mode": "hybrid",
    "top_k": 5,
    "with_reasoning": true
  }'

The response returns the answer, matched knowledge bases, ontology instances, RAG usage, structured source references and an optional reasoning trace.

Local development is a separate path that does not use the deploy/ config. It needs Python ≥3.12.13, Node ≥20.18.0 (22 LTS recommended), pnpm ≥9 and uv. You start infrastructure with make dev-infra-up, which brings up PostgreSQL, Redis, etcd, MinIO and Milvus. make dev-deps-up adds LightRAG and Atomic RAG. Backends start from VSCode Run and Debug, not from make.

Limits

  • Licence: it is the "Jonex Open Source License", described as Apache 2.0 with additional conditions. The page does not list those conditions, so read the licence before adopting or redistributing. Third-party components keep their own licences (see NOTICE and THIRD_PARTY_NOTICES.md).
  • Default credentials: the admin account is for local use only. Change or remove it before binding to a non-loopback interface, and complete the SECURITY.md production checklist first.
  • Evidence: the page gives no benchmarks, retrieval-quality numbers or hardware sizing. GPU is described only as optional for model-heavy workloads.
  • Models: no models are bundled. Every LLM, embedding, rerank, VLM and ASR capability depends on endpoints you provide.

Organisations named here

  • JONEX
  • Neo4j

Technologies named here

  • Jonex
  • RAG-Anything
  • MinerU
  • LightRAG
  • Neo4j
  • Milvus
  • Atomic RAG
  • MCP server
  • Docker Compose
  • LLM Gateway
  • uv
  • pnpm
  • VSCode Debug
  • Docker
  • Node.js
  • PostgreSQL
  • Redis
  • OpenAI API
  • Model Context Protocol
  • MinIO
  • Python

Techniques named here

  • Ontology-first knowledge compilation
  • Graph-enhanced retrieval