AI Document Review Agent v2.0
Full-stack document review: MinerU parses the PDF, a LangChain v1.1 + DeepSeek pipeline flags grammar issues and over-definitive language, streams each onto the PDF at its bounding box, with custom rules and human-in-the-loop review.
A real, working tool — not a replay. Paste Chinese text: the Definitive Language (绝对化表述) detector runs client-side instantly, and the "Deep review with DeepSeek" button calls a live server-side route for grammar/spelling + deeper review.
Why this local version exists
The 绝对化表述 layer runs entirely client-side (no key, instant). The deep-review button hits a server-side route running DeepSeek live — the API key stays on the server, input is length-capped, and requests are rate-limited per IP.
Definitive-language detector — try it live
Type or paste Chinese text. This runs the project's real Definitive Language (绝对化表述) rule logic in your browser — no server, no canned data — and flags over-committal wording with a softer rewrite. Grammar & spelling detection stays on the LLM backend and isn't faked here.
Your text
Highlighted
甲方保证一定为乙方提供最优质的服务,并承诺在任何情况下都完全满足乙方的所有要求。本协议一经签署绝对不可变更,乙方必须无条件接受上述全部条款。
Detected · 绝对化表述
9 issues · risk 高Using "保证" in a formal promise context is over-committal language and may create obligations beyond what was intended.
Soften to: 尽力 / 力争
Using "一定" in a formal promise context is over-committal language and may create obligations beyond what was intended.
Soften to: 通常 / 原则上
Using "任何" in a formal promise context is over-committal language and may create obligations beyond what was intended.
Soften to: 相关 / 多数
Using "完全" in a formal promise context is over-committal language and may create obligations beyond what was intended.
Soften to: 基本上 / 尽可能
Using "所有" in a formal promise context is over-committal language and may create obligations beyond what was intended.
Soften to: 相关 / 多数
Using "绝对" in a formal promise context is over-committal language and may create obligations beyond what was intended.
Soften to: (建议删去)/ 尽量
Using "必须" in a formal promise context is over-committal language and may create obligations beyond what was intended.
Soften to: 应 / 宜
Using "无条件" in a formal promise context is over-committal language and may create obligations beyond what was intended.
Soften to: 在约定条件下
Using "全部" in a formal promise context is over-committal language and may create obligations beyond what was intended.
Soften to: 大部分 / 相关
The 绝对化表述 layer above runs entirely client-side, instantly. For grammar, spelling and deeper review, run the real DeepSeek pass below — the same LLM the production system uses.
Deep review with DeepSeek (live API)
Calls a server-side route that runs DeepSeek with a JSON-structured review prompt — the API key stays on the server, input is length-capped, and requests are rate-limited. This is the real LLM pass, not a replay.
What to try
Type/paste Chinese text and watch the 绝对化表述 detector flag terms live, with a softer rewrite.
Click "Run DeepSeek review" to call the real LLM for grammar/spelling + definitive-language issues.
Edit the text and re-run — both layers respond to whatever you actually type.
What this demo proves
You use LangChain v1.1 correctly — provider-based model init, PydanticOutputParser, framework-level HITL.
You can ship full-stack: FastAPI + React/FluentUI + SQLite + SSE, front to back.
You ground every issue to a real PDF location with a robust 3-level bounding-box fallback.
Stack
FastAPI + React/FluentUI · LangChain v1.1 + DeepSeek · MinerU · SQLite
Issue types
Grammar & Spelling (低) + Definitive Language (高) + custom rules
Best signal
Real full-stack LangChain v1.1 system with HITL + bbox grounding