返回作品列表

Web 应用2026

Tech Vault · 典阁让团队文档成为可检索、可核实的知识

面向团队的 RAG 知识库系统。将文档上传、结构化解析、来源约束切片、双引擎索引和检索增强问答连接起来,并通过 PDF 高亮、任务流程图与检索诊断解释每一步的结果。

Tech Vault · 典阁品牌封面:冰蓝色知识档案盒、文档与来源关联,AI 生成概念视觉。

关于这个项目

团队资料分散在 PDF、Office 文档和邮件中,查找信息不仅需要命中关键词,也需要保留上下文并核实答案来源。Tech Vault 围绕“文档如何变成知识”和“答案如何回到原文”设计完整的前后端流程:以 Document IR 保留结构和来源,以 Elasticsearch 与 Milvus 进行混合召回,以 QueryRewrite、Rerank 和上下文组织支持多轮问答。前端采用浅蓝液态玻璃界面,让文档、切片、任务与引用能够在同一工作空间中联动查看。

从资料管理到有据可查的回答

项目面向需要共享技术资料的团队。上传文件和执行解析彼此独立:文档可以先归档,再按文档类型与解析参数生成索引。团队成员在共享知识库上协作,并通过各自的会话开展知识问答。

设计重点是可追溯性。切片必须来自明确的原文范围,用户可以修正内容与边界;回答引用记录来源版本和索引构建,使历史回答仍能定位当时的依据。

团队知识库

卡片式知识库管理,详情包含文件列表、检索测试、解析任务和配置;文件管理按知识库目录组织资源。

文档工作区

原文预览与 IR / Chunk 列表可拖动调整宽度,内部独立滚动;PDF 自适应展示,点击内容定位并高亮原文。

知识问答

会话列表与聊天内容分栏;设置抽屉支持多知识库选择、LLM 和温度等参数,回答支持 Markdown、流式输出与引用卡片。

执行过程可见

解析任务用流程图展示阶段、状态与节点详情,SSE 推送日志;团队管理员可以检查会话检索的阶段输入、输出、召回片段和分数。

文档入库:先恢复结构,再组织切片

文档解析由独立 Worker 执行。PDF 按页提取原生文本,缺乏有效文本的页面采用 OCR;结合版面与内置目录分析结构,处理多栏顺序、行文本合并和重复页眉页脚。原始提取结果与清洗后的中间产物保留,便于排查与复用。

Document IR 描述章节、内容块和来源;SemanticUnit 组织适合切分的语义单元;Chunk 则承担检索粒度。切片采用 Token 预算,并尽量保持句子、段落和结构边界,不把 PDF 的一行机械地当作一个完整段落。

  1. 上传原件并选择文档解析配置
  2. 提取正文、页码、版面坐标与 PDF 目录
  3. 恢复段落和章节,标记并排除重复噪声
  4. 生成 Document IR 与语义单元
  5. 按 Token 预算切片并校验来源范围
  6. 调用 Embedding,写入 Elasticsearch 与 Milvus
  7. 完整性核验后发布新的索引构建
为什么保留中间产物与两组坐标

原始坐标用于追溯提取器输出,修正坐标用于稳定定位。可修复的越界等异常保留两组坐标;无效、零面积或完全位于页面外的情况记录原始结果与诊断。IR 产物可用于查看清洗与结构分析结果,也支持后续重新切片,减少重复解析。

检索生成:改写问题、融合召回、重排证据

多轮会话首先结合历史进行 QueryRewrite,将依赖上下文的问题转成更完整的检索表达;原问题与改写问题共同参与候选召回。系统按向量模型空间组织检索,结合 Elasticsearch 关键词通道与 Milvus 向量通道,通过 RRF 融合排名,再调用 Rerank 筛选证据。

命中的切片经过邻近上下文扩展、来源去重和 Token 预算裁剪后交给 LLM。RAG 检索生成要求配置可用的重排模型。会话可以独立设置 LLM 参数,生成时保留配置快照,回答中的编号引用与来源卡片支持回到历史原文。

  1. 读取会话历史与生成配置快照
  2. QueryRewrite 生成独立问题,保留原问作为召回变体
  3. 解析知识库范围与可用索引构建
  4. Elasticsearch 与 Milvus 混合召回,RRF 融合
  5. 执行权限与状态过滤、Rerank 重排
  6. 扩展邻近上下文,去重并按 Token 预算组织证据
  7. 流式生成回答,保存引用与阶段诊断
如何定位一次回答的问题

检索调试保留阶段输入输出、候选片段、渠道来源、原始分数、RRF 与重排分数、选中或拒绝原因及耗时。可以区分问题改写不充分、召回遗漏、重排选择不佳与上下文预算不足,而不是只看到“检索完成”这一状态。

让复杂流程保持清晰

界面使用浅蓝透明材质、细高光与柔和层次,主导航、设置分类和知识库标签页使用可移动的玻璃胶囊表达当前位置。相关设置集中在独立卡片中,降低信息密度。

交互围绕文档和回答展开:文件名进入详情,切片关联 IR,任务返回文件,回答引用打开原文。来源卡片横向排列并自动换行,默认展示精简信息;引用弹窗提供定位高亮。界面支持中文与英文。

内容优先的阅读布局

PDF 预览只展示正文,IR 与切片使用懒加载列表,避免长文档一次性渲染全部内容。

独立任务详情

任务摘要置顶,配置快照、执行过程、执行日志和处理结果可折叠;流程图可选中节点查看执行信息。

模型服务管理

工作空间默认模型、供应商模板与已有连接分别呈现;区分 LLM、Embedding、Rerank 等模型类型,聊天通过抽屉配置使用方式。

工程实现与一致性

前端采用 Vue 3、TypeScript、Vite、Vue Router 和 vue-i18n,按业务模块组织页面、组件、类型与接口访问。PDF 预览使用 PDF.js,聊天内容使用 Markdown 渲染。后端采用 FastAPI 模块化单体,业务 API 与 Celery Worker 分开运行。

PostgreSQL 保存业务、权限与构建状态,MinIO 保存原件与解析产物,Redis 支撑任务队列,Elasticsearch 和 Milvus 分别承担全文索引与向量检索。Docker Compose 提供本地依赖服务及完整应用编排。

构建发布边界

新构建先写入并核验双索引,再通过数据库事务切换当前生效的构建;失败的新任务不会直接覆盖已有可检索结果。

权限按工作空间约束

系统管理员负责团队、人员、系统设置与审计,不进入团队知识库。团队角色与资源所有权共同约束读写,模型编辑和删除只允许所有者执行。

契约与验证

仓库维护 OpenAPI、接口示例、数据模型与 IR Schema,并包含前端单元测试、后端单元及集成测试和本地页面验证记录。

当前进展与后续方向

当前已实现文档管理、结构化解析、来源约束切片、双索引发布、知识问答和引用溯源的主要流程。截图来自本地实际运行页面,展示技术文档的真实解析结果及已有历史问答。

持续优化的方向包括复杂 PDF 的结构恢复、切片质量、检索延迟与检索评测。通用 Agent 工具调用循环、任意自定义工作流编排以及 PDF 图片语义理解属于后续扩展方向,尚不作为当前已实现能力展示。

继续探索 / 下一个项目邮你 · iPostYou连接彼此,一张明信片的距离
项目大图