**1、背景**
某单位在日常运转中积累了大量的历史材料,这些材料长期分散存放,缺乏统一的管理标准与归档机制,导致查找困难、版本混乱、复用率低,甚至存在丢失风险。随着业务发展和对历史资料依赖程度的提高,单位迫切需要一套能够对历史材料进行集中存储、分类管理和安全管控的系统,以实现资料从“分散保存”向“统一治理”的转变,为后续的知识沉淀和智能化应用打下基础。
**2、功能**
系统以知识库为核心管理单元,支持文件上传,并按照不同组织的知识库进行分类管理。系统允许无限创建知识库,每个知识库可独立承载某一组织或某一主题的资料,互不干扰。在权限层面,系统实行严格的访问控制,只有具备相应权限的人员才能访问对应的知识库,无权限用户无法查看、上传或检索其中的内容,从而保障资料的安全性与保密性。通过“组织—知识库—文件”的三级结构,单位可以实现历史材料的精细化、可扩展管理。
**3、流程**
使用流程清晰且易于操作。用户登录后,首先选择已有知识库,或根据业务需要新建知识库;随后将所需的历史文件上传至对应知识库中,系统对上传文件进行解析与量化处理,提取文本内容并转化为可供检索的向量数据;完成量化后,这些资料即可作为知识源提供给大模型,用于 RAG(检索增强生成)场景,实现基于单位历史材料的智能问答与知识复用。整体形成“选择/创建知识库—上传文件—量化处理—供大模型 RAG 使用”的闭环流程,既满足统一管理需求,又为智能化应用提供高质量的数据支撑。
**技术实现方案**
**1、后端框架**
系统后端采用 Go 语言开发,使用 Gin 作为 Web 框架。Go 具备高并发、低内存占用和部署简便的特点,适合本系统文件上传、知识库管理与检索等多种并发场景;Gin 提供轻量高效的路由、中间件与参数绑定能力,便于快速构建 RESTful 接口。后端整体按模块划分,包含用户认证、知识库管理、文件上传、量化处理与检索服务等,接口统一采用 JSON 交互,并通过中间件实现权限校验与访问控制,确保只有具备相应权限的人员才能访问对应知识库。
**2、数据库与文件存储**
系统使用 SQLite 作为关系型数据库,存储用户、知识库元信息、文件记录、权限配置及量化状态等结构化数据。SQLite 轻量、无需独立服务、便于部署与备份,契合单位内部系统的使用场景。文件本身统一保存在磁盘上,系统在创建知识库时自动生成对应的知识库文件夹,不同知识库的文件分别存放在各自目录中,实现物理隔离与清晰区分。文件上传后按知识库归档,目录结构直观,便于运维管理与数据迁移,同时也避免了文件与数据库混存带来的性能与维护问题。
**3、量化与检索**
知识库内容保存在 zvec 向量库中,用于支撑高效的相似度检索。文件上传并解析后,系统通过 bge-m3 模型对文本进行量化,将内容转化为高维向量并写入 zvec,形成可供检索的知识表示。bge-m3 支持多语言、多粒度语义表示,能够较好地适配单位历史材料的多样性。在召回阶段,系统先从 zvec 中检索出相关候选内容,再使用 bge-reranker-v2-m3 对候选结果进行召回重排,提升结果的相关性与排序质量。通过“zvec 存储 + bge-m3 量化 + bge-reranker-v2-m3 重排”的组合,系统可为大模型 RAG 提供准确、可靠的上下文支撑,实现基于历史材料的智能问答与知识复用。