Files
RAG/frontend/README.md
YoVinchen ecdb10c37a
Some checks failed
verify / verify (push) Has been cancelled
Make the governed RAG evidence path executable end to end
Separate local parsing from model indexing, bind review decisions to immutable manifests, persist vectors behind active profiles, and expose retrieval, chat, evaluation, and document workflows through the React workbench.

Constraint: Live Bailian authentication currently fails for all three configured capabilities

Rejected: Direct upload-to-embedding flow | bypasses local review and manifest binding

Confidence: high

Scope-risk: broad

Directive: Keep private-data deployment blocked until authentication, RBAC, and separate database roles land

Tested: make verify; fresh and replay Docker document smoke; worker recovery smoke; frozen synthetic evaluation; migration 0003-0004 roundtrip

Not-tested: Successful live Bailian calls, OCR, real multi-user authorization
2026-07-13 05:58:11 +08:00

2.6 KiB
Raw Permalink Blame History

地质知识 RAG 工作台前端

React + TypeScript 的地质知识 RAG 工作台,覆盖离线演示、正式检索、证据问答和受控文档入库。前端只访问同源 /api,不读取、保存或显示模型 Key、百炼工作区地址和数据库连接信息。

文档入库工作台

访问 /documents 可验证完整的治理流程:

  1. 浏览器计算文件 SHA-256以 UUID Idempotency-Key 创建上传声明;
  2. application/octet-stream 写入隔离存储,完成后轮询本地解析作业;
  3. 加载全部分页复核包核对页、块、Chunk、profile 与出域 manifest
  4. 人工确认后以 expected_revision 和 manifest 提交批准,或选择明确原因拒绝;
  5. 批准后轮询向量索引作业,直到完整性校验与激活完成。

支持 TXT、Markdown、DOCX 和 PDF浏览器侧限制 100 MiB。PDF 进入 OCR_REQUIRED 并不代表系统已经理解地图空间关系;页面不会把上传成功或解析成功显示为可检索。

运行环境与固定版本

  • Node.js >=22.12.0,本地验证版本 22.22.3
  • npm >=10.9.0,本地验证版本 10.9.8
  • React 19.2.7
  • React Router 7.18.1
  • TanStack Query 5.101.2
  • Vite 8.1.4
  • TypeScript 5.9.3openapi-typescript 7.13.0 当前要求 TypeScript 5.x
  • Vitest 4.1.10

精确依赖和完整性哈希记录在 package-lock.json,不要绕过 lockfile 安装。

本地开发

先确保后端监听 127.0.0.1:8000,再运行:

npm ci
npm run dev

Vite 将同源 /api 代理到本机后端。生产构建输出到 dist/

OpenAPI 类型

src/api/schema.generated.ts 来自 FastAPI 应用工厂的真实 OpenAPI 文档。默认离线导出,不需要启动 API、连接数据库或读取模型 Secret。后端契约变化后运行

npm run generate:api

如需对照正在运行的其他本机端口,可显式设置非敏感的 OPENAPI_SCHEMA_URL

OPENAPI_SCHEMA_URL=http://127.0.0.1:8010/openapi.json npm run generate:api

生成脚本会确认 Demo、正式 Retrieval 与 Grounded Chat 契约均存在后才覆盖类型文件。 npm run check:api 会离线重新生成到内存并与提交文件逐字比较CI 用它阻止后端和前端类型漂移。

质量门禁

npm run format:check
npm run lint
npm run typecheck
npm run test
npm run build

也可使用 npm run verify 顺序执行全部门禁。

当前界面明确区分:索引 ready、空数据、不完整数据、422 输入边界、503 数据库不可用和网络错误。只有 ready 状态允许检索;结果中的“演示排序分”不是地质结论置信度。