From 08a1bdeaae9eae1b53bd9dab2f4bc676a66a19b7 Mon Sep 17 00:00:00 2001
From: cqboy1993 <167045138+EricNGOntos@users.noreply.github.com>
Date: Tue, 8 Sep 2026 11:29:10 +0800
Subject: [PATCH 1/3] docs: explain dual-track document memory (#390)
---
README.md | 69 +++++++++++++++--------
docs/assets/step-1-dual-track-memory.png | Bin 0 -> 983545 bytes
2 files changed, 44 insertions(+), 25 deletions(-)
create mode 100644 docs/assets/step-1-dual-track-memory.png
diff --git a/README.md b/README.md
index a96d66960..8f0178cab 100644
--- a/README.md
+++ b/README.md
@@ -33,9 +33,11 @@
## Overview
-**Knowhere is the memory layer between complex, dirty documents and AI agents.**
+**Knowhere is a document parsing and retrieval system that turns complex, dirty files into persistent, navigable memory for AI agentsβespecially across local and offline document collections.**
-It ingests unstructured documents and produces persistent, navigable memory: parsing, hierarchy extraction, multi-modal structuring, and graph construction in a single pipeline. Every chunk retains full semantic context, making the output a natural fit for *Agentic RAG*, *vector-based RAG*, or any LLM workflow.
+It ingests unstructured documents and produces persistent, navigable memory: parsing, hierarchy reconstruction, multi-modal structuring, and graph construction in a single pipeline. Every result stays connected to its document, section, source pages, and related assets, making the output a natural fit for *Agentic RAG*, *vector-based RAG*, or any LLM workflow.
+
+Knowhere supports complementary **Vision and Text tracks**. Text-native documents retain precise extracted structure, while complex PDFs and PowerPoint files can be understood directly as pages by frontier vision models. Both tracks converge into the same memory schema, hierarchy, retrieval engine, and citation model.
> [!NOTE]
> **Get started in seconds with Knowhere Cloud.**
@@ -43,22 +45,36 @@ It ingests unstructured documents and produces persistent, navigable memory: par
## π’ News
+- **September 2026**: ποΈ **Introducing dual-track Document Parsing 2.0.** Vision Page and Text Track now converge into one hierarchy-native memory schema for retrieval, understanding, and citation.
- **June 1, 2026**: π **Knowhere now supports ultra-long PDFs and atlas-style documents.** The parsing pipeline can process long-form PDFs with hundreds of pages (for example, 300, 500, or more) and route technical atlases or drawing collections through a dedicated layout-aware parser.
- **May 7, 2026**: π **Knowhere is now Open Source!** We have open-sourced our entire stack for document ingestion, parsing, and agentic RAG. You can now self-host the full platform using [knowhere-self-hosted](https://github.com/Ontos-AI/knowhere-self-hosted). Check out our [Contribution Guide](CONTRIBUTING.md) to get involved!
-## How it Works
+## Vision + Text: Document Parsing 2.0
-Knowhere runs in two steps: build memory from documents, then let agents retrieve from it.
+Traditional OCR and Document Intelligence pipelines try to extract every element before a model can understand the document. On dirty PDFs and slide decks, mistakes in reading order, layout, tables, or hidden text layers can accumulate into unreliable model context.
-### Step 1: Parse and Build Memory
+Knowhere does not make perfect element-by-element extraction a prerequisite for retrieval. The Text Track preserves precise text and native structure where they are reliable. The Vision Track uses frontier vision models to understand a page or slide as a whole, so visually complex content can still be recalled and understood without first reconstructing every element.
-
+
-- **Parse**: Route PDFs, Office files, images, tables, Markdown, and text to specialized parsers.
-- **Structure**: Our proprietary Tree-like algorithm reconstructs the full document hierarchy instead of flattening it into a sequence, preventing semantic fragmentation across chunks.
-- **Build Memory**: Store chunks, navigation trees, summaries, and graph links as agent-ready context.
+- **Two tracks, one contract**: Both parsing paths produce the same chunk and metadata schema, so downstream storage, hierarchy, graph construction, and retrieval remain format-independent.
+- **Recall without brittle reconstruction**: Pages can be indexed through summaries, entities, source text, and hierarchy even when OCR or layout extraction cannot reliably recover every component.
+- **One navigable memory**: Text sections and vision-understood pages become compatible hierarchy nodes with source evidence, linked assets, and cross-document relationships.
+
+PDF and `.pptx` uploads through the V2 Jobs API use the Vision Track; other supported formats use the Text Track. The tracks differ in how they understand the source, not in how agents consume the resulting memory.
+
+## How it Works
+
+Knowhere runs in two steps: build memory from documents, then let agents retrieve from it.
+
+### Step 1: Parse and Build Memory
+
+- **Route**: Select the Vision or Text track according to the document format and API generation.
+- **Understand**: Preserve native text structure where it is reliable, or understand complex pages holistically with a vision model.
+- **Normalize**: Convert both tracks into the same hierarchy-native chunk and metadata schema.
+- **Build Memory**: Store navigation trees, linked assets, citations, and cross-document relationships as agent-ready context.
### Step 2: Agentic Retrieval
@@ -66,19 +82,19 @@ Knowhere runs in two steps: build memory from documents, then let agents retriev
-- **Discover**: Fuse keyword, path, content, and semantic signals for broad first-pass coverage.
-- **Navigate**: Walk section trees and graph links to drill into the most relevant document regions.
-- **Cite Evidence**: Return traceable results with source document, section, chunk, and linked assets.
+- **Discover**: Fuse path, content, term, summary, and entity signals for broad first-pass coverage.
+- **Navigate**: Use hierarchy-aware MapNav to move from document overviews into the most relevant sections and evidence.
+- **Cite Evidence**: Return traceable results with source document, section, source pages, and linked assets.
## FAQ
**Q: What is Knowhere's relationship with MinerU?**
-A: Knowhere uses MinerU as its default parser because it performs best in our tests. Any parser only gets you raw Markdown. Knowhere's value is what comes after: hierarchy reconstruction, multi-modal normalization, and cross-document graph construction. Any Markdown-outputting tool works.
+A: MinerU remains the default raw PDF extractor for Knowhere's V1 chunk-based pipeline. PDF and PowerPoint uploads through the V2 API use Vision Page instead: Knowhere renders the source pages, combines their visual interpretation with document profiling and TOC structure, and assembles page-grounded hierarchy nodes. MinerU is still useful, but V2 no longer treats parser-generated Markdown as the only source of truth.
**Q: What LLM / VLM dependencies does Knowhere have?**
-A: By default, DeepSeek (`deepseek-chat`) handles text and table summarization, and Qwen-VL (`qwen3.6-flash`) handles image OCR and descriptions. Knowhere is model-agnostic. Swap in OpenAI, DashScope, Zhipu, or Volcengine via environment variables.
+A: We recommend [`deepseek-v4-flash-vision-exp`](https://api-docs.deepseek.com/guides/vision/) as a unified model for both Text and Vision workloads. It accepts text and image input, so the same model can handle summarization, hierarchy reasoning, page understanding, and asset descriptions. The model is currently experimental, and Knowhere remains model-agnostic: you can use another modelβor separate Text and Vision modelsβfrom OpenAI, Qwen, GLM, Volcengine, or any compatible provider.
**Q: How is Agentic Retrieval different from traditional RAG?**
@@ -86,7 +102,7 @@ A: Traditional RAG does a flat vector lookup and returns isolated snippets. Know
**Q: Does it handle images and tables?**
-A: Yes. Knowhere extracts them, runs them through VLMs for summarization and feature extraction, and links them back to their source chunks so agents can retrieve and cite multi-modal assets at inference time.
+A: Yes. Knowhere extracts images and tables, runs them through VLM-assisted summarization and feature extraction, and links them back to their source section nodes. Vision Page also retains rendered page citations, so agents can return both structured context and the visual source evidence.
## Performance Benchmark
@@ -121,22 +137,25 @@ Agents using Knowhere outperform those working from raw documents, Markitdown, U
## Features
-- **Multi-modal Parsing**: High-fidelity extraction from PDF, Office, and images, preserving headings, tables, and hierarchical paths.
-- **Lightweight Memory Graph**: Context-aware organization that links documents and chunks for better relationship understanding.
-- **Agentic RAG**: A hybrid retrieval engine combining traditional search (RRF) with autonomous agent navigation.
-- **Evidence-based Citations**: Every result is backed by traceable source paths, ensuring reliability for AI Agent decision-making.
+- **Dual-track Parsing**: Vision and Text tracks handle different document conditions while producing the same downstream schema.
+- **Vision Page Understanding**: Frontier vision models make complex PDF and PowerPoint content recallable without requiring perfect element-by-element OCR or layout reconstruction.
+- **Hierarchy-native Memory**: Section nodes preserve document paths, page ranges, summaries, entities, and linked assets instead of returning disconnected chunks.
+- **Cross-document Memory Graph**: Page-derived typed entities and keywords connect related documents across a namespace.
+- **Agentic Retrieval**: MapNav navigates document hierarchies, while classic retrieval combines path, content, and term channels through RRF.
+- **Page-grounded Citations**: Results retain source documents, section paths, page numbers, and rendered visual evidence.
## Supported Formats
**β
Supported**
-- [x] `.pdf` `.docx` `.pptx` `.xlsx` `.csv`
-- [x] `.jpg` `.png`
-- [x] `.md` `.txt` `.json`
+- [x] `.pdf` `.pptx` β Vision Page through the V2 Jobs API
+- [x] `.doc` `.docx` `.xls` `.xlsx`
+- [x] `.jpg` `.jpeg` `.png`
+- [x] `.md` `.txt` `.html` `.htm` `.json`
**β³ Coming Soon**
-- [ ] `.epub` `.html` `.xml`
+- [ ] `.epub` `.xml`
- [ ] `.mp4` `.mp3`
- [ ] `.skills.md`
@@ -168,8 +187,8 @@ cp apps/worker/.env.example apps/worker/.env
- database and Redis connection settings
- S3-compatible storage credentials
- at least one LLM provider key: `DS_KEY`, `ALI_API_KEYS`, `GPT_API_KEY`, or `GLM_API_KEY`
-- `MINERU_API_KEYS` if you need PDF parsing
-- a vision-capable model provider if you need image summaries, OCR, atlas classification, or image-aware retrieval
+- a vision-capable model provider for V2 PDF/PowerPoint parsing, page understanding, image summaries, OCR, atlas classification, or image-aware retrieval
+- `MINERU_API_KEYS` only if you use the V1 chunk-based PDF/PowerPoint pipeline
- any optional billing or webhook providers you want to enable
Most parser and retrieval tuning values have code defaults. Start with the
diff --git a/docs/assets/step-1-dual-track-memory.png b/docs/assets/step-1-dual-track-memory.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a2c3b1b141c287d031508754fa21c5dc4fc1e2c
GIT binary patch
literal 983545
zcmeFa2UL_xvo=c3QOR-0d6)zY83Y6bNfIP8z?PjeVr>CP%Nyb8kgM&k<
zsiA6sgG2lj2M3>-1P}D=a5y#N;20U&VNRXLK3)AiY(X~%c-q?`yfHYmI5c56IORC#
zoD29z9bgpnc$E6jQ6B#sX&4Tnpi9qo`}a7l!%7|PZjE{2BN!o(!((e@5#
zTPaBl+#ak&VR9@^=%+Z0@BgqU6yxjb;N$1w<>?D1kiI#dAd8)#^pXP66t9tYmt1&g
z^NNbgN$lEC7dtOcFcgQ$4&m!;?{H6?v2nA@vyJ}DtwoIx(9dY=Xm5+-;(>8;5cdsm
z5()Bf$4U;gb+NaV109e+7kfWvd2T7VBsav_!Ntkh@3;}*;t+VsD@dLj27y7qYwQm<
z#L>mwU7p+1%hQ1y0%Upm%5yvW`FYETiw6b)P)Rf#f8VyBDOF)p|iI74by_QBGRghAWPy`YV
zfum7SX#^UAL?OYl5V#a*N=O1N;7~XU4PGOm64H_?2q~~S3@Z)+rlEiq5>S)`1Ob#q
zNFyK!6i`y~_yJe>*^Si|I|?jvGz%<_m4aOpD-`H-w1~9I&qbw60LV%KBau?TX0#+k0tMP|DF_ONf=VEOI3xlJlaf|JA%UkPr63XrB$x+~
zmjoU`0CfQ5NUWzM!4r;E5Bro*`Pq+cW5)r{9?gUN6a$ty5{o`wMpEVHvcM%rYG9Ye
zss+$FQWIG5Ti~Ez2;<`bGCPZsf&te9I8Z1MNs=lkv?OQ)^TE0xuu#%KU2MRh5l~5B
zJxUq|0td*2fqpnb8wHnuN?-#J42Pk>bT|U^W1R{j369kd4V8ca@qe{JKw@L!=Xho)s2vnfWkpAAmM1Jqy*4P3JHb50NMzkh7^b;DL533l+s25
zXGx+!#37MT5GX(m6nFx)!91h{KoJF=C@>xYyo5y^SS<~fJ+@lo7zMMlNC_#dz~iVx
zY5&X!upklzMM=Yrk!TR|XbJ6K
$=x#zKzY8y}DVYuwK$Mwy*ONFLz~0FZ`C
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
z
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