v0.3.1 — Multimodal Knowledge Review
v0.3.1 — Multimodal Knowledge Review
v0.3.1 adds a reviewed OCR ingestion path without changing the existing
FAQ/text-document or chat compatibility surfaces.
Product outcome
Administrators can upload PNG, JPEG, WebP, and scan-only PDF knowledge sources.
The source is stored privately, a durable extraction job is queued, and
PaddleOCR PP-StructureV3 produces immutable structured Blocks. The result is
never searchable automatically: an administrator reviews and edits a
revisioned draft, then publishes the complete document atomically.
The existing Documents page now exposes:
- queued, running, completed, and failed extraction states;
- authoritative engine/version, safe errors, attempts, retry relationships,
and timestamps; - ordered Block review with page, confidence, layout, structure, and manual
edit state; - optional DeepSeek-OCR-2 shadow status and text/structure agreement;
- published citation provenance down to page, source Blocks, extraction job,
and engine version.
Engineering boundary
- PaddleOCR PP-StructureV3 is the only authoritative extractor.
- DeepSeek-OCR-2 is optional comparison-only output. It cannot create,
overwrite, or publish a review draft. - SQLite stores durable extraction jobs and revisioned drafts additively.
Interruptedrunningjobs return toqueuedwhen the scheduler starts. - The Node service and external worker communicate through bounded,
project-owned request/result schemas. Both boundaries verify source size,
type, signature, and SHA-256; worker output is schema-validated before it is
persisted. - Publication re-runs DocumentIR validation, cleaning, quality gates,
structure-aware chunking, embedding, and index consistency against the whole
reviewed draft. - Existing FAQ, TXT/Markdown/text-PDF/DOCX, SQLite, in-memory VectorStore,
no-key, admin API, and chat SSE behavior remain compatible.
Local worker
The optional CPU worker lives in ocr-worker/.
It follows PaddleOCR's PP-StructureV3 pipeline and maps layout, OCR lines, and
tables into the same versioned Block contract used by text documents.
OCR_SERVICE_URL=http://ocr-worker:8001 \
docker compose --profile ocr up --buildThe first start downloads Paddle models. Existing capabilities continue to run
when no OCR worker is configured. The worker pins PaddleOCR and PaddleX to
3.0.3; this matching pair is required for PP-StructureV3 initialization.
Non-goals and limits
This release does not add free-form VLM answers over raw images, multimodal
embeddings, Qdrant, distributed queues, web ingestion, domain-specific field
automation, or business tools. OCR confidence remains extraction evidence, not
answer confidence; the existing Grounding Gate still decides whether retrieved
knowledge can support a response.
See v0.3.1 implementation evidence for verification and
known deployment risks.
中文说明
v0.3.1 在不改变 FAQ、文本文档和聊天兼容接口的前提下,新增“先 OCR、后复核、
再整文档发布”的知识入库路径。
管理员可以上传 PNG、JPEG、WebP 和扫描 PDF。原文件会私有保存,SQLite
持久化任务队列把文件交给权威 PaddleOCR PP-StructureV3 Worker;识别结果先
保存为不可变输出和可编辑的版本化复核草稿,管理员确认整份文档后才会原子
发布并进入检索。
文档详情可检查任务状态、引擎版本、安全错误、重试关系、Block 的页码/置信度/
布局和编辑状态,以及可选 DeepSeek-OCR-2 影子结果的一致度。发布后的来源会
保留文档、页码、Block、提取任务和 OCR 引擎版本。
Paddle 是唯一权威结果;DeepSeek 只能对照,不能覆盖或自动发布。没有配置
OCR Worker 时,原有 FAQ、TXT/Markdown/文本 PDF/DOCX 和无 Key 路径继续
运行。本版本不包含原图自由视觉问答、多模态 embedding、Qdrant、分布式队列、
网页采集、领域字段自动化或业务工具。