持续迭代2026从数据治理到带引用回答的 RAG 系统
Usagi 知识库
想回答一个具体的问题:资料散落在各处时,怎样让大模型只依据真实文档作答,并且每句话都能追溯到出处。项目从数据接入与治理做起,再到混合检索与重排、带引用的问答,配套管理后台与问答前台。
起点
团队的知识分散在飞书文档、Wiki 和各种表格里。直接把文档丢给大模型并不难,难的是回答可信:资料过期了怎么办?没权限看的内容会不会被答出来?答错了能不能找到原因?
所以这个项目没有从对话界面开始,而是从数据开始。
架构
- 接入与治理服务:对接数据源、解析文档、做质量检查和可见性管理,对下游只提供一条只读的变更流。
- 索引与检索服务:消费变更流建立分块索引,提供全文与向量的混合检索,再用重排模型排序。
- 问答服务:基于检索结果生成回答(RAG),每个结论都标注引用;资料不足时明确说「不知道」。
- 管理后台 / 问答前台:Vue 3 + Naive UI + Tailwind v4,后台按业务模块拆分、模块之间互不引用。
做下来的一些体会
- 回答质量的上限在数据:前期大部分时间花在文档解析、清洗和可见性管理上,而不是调提示词。
- 评测要先于优化:试过「多步检索」——把问题改写拆分后并行检索。在评测集上对比没有带来收益,于是默认关闭,只保留开关。
- 可观测是刚需:一次回答牵涉改写、检索、重排、生成好几个环节,没有链路追踪几乎无从排查。
- AI 写代码,规则兜底:开发中大量使用 AI 编程助手。分层依赖用 import-linter 和 ESLint 强制检查,跨服务接口有契约测试,生成的代码要先过这些检查才算完成。
项目仍在迭代,下一步是补全权限场景的评测,并把线上点踩的问题自动沉淀为评测样本。
Gallery/界面一览
管理后台
问答前台
下一个作品
Eliauk 音乐 · 第二版