1.介绍一下你做的派聪明RAG知识库项目,它主要是做什么的?你想通过它解决一个什么样的问题或者说有什么应用场景吗?
派聪明是一个企业级的 AI 知识库管理系统 。它的核心功能是对用户上传的私有文档(比如 Word、PDF、txt 等),进行语义解析和向量处理,然后存储到 ElasticSearch 中以供后续的关键词检索和语义检索。
当用户通过聊天界面进行对话时,系统会将用户输入的内容进行语义转化,通过 ES 的混合检索召回 TOPK 个相关信息,最后再将最近的上下文一起封装到 prompt,再发送给 LLM,从而实现检索增强生成,也就是利用 RAG 的技术架构来减少模型的输出幻觉。
派聪明主要解决的是在海量文档中快速、准确地获取信息的难题。传统的关键词搜索往往效率低下,无法理解问题的真实意图。派聪明通过结合 RAG 技术解决了这个问题。
它的工作流程包括四个关键步骤:
- 文档处理 :用户上传文档后,系统会像图书管理员一样,自动将文档内容拆分成一个个小的知识片段。
- 知识向量化 :接着,派聪明会利用豆包/阿里的向量模型为每个知识片段生成一个独特的“语义指纹”,并存入 Elasticsearch 中。
- 智能检索 :当用户提出问题时,系统会先将问题转换成“语义指纹”,然后在 ES 中寻找与问题意图最匹配的几个知识片段。
- 生成答案 :最后,派聪明会将用户的原始问题和找到的相关知识片段一起交给大型语言模型(比如 DeepSeek ),让这个“大脑”基于给定的上下文,生成一个精准、流畅、人性化的回答。
主要的应用场景包括:
①、企业内部知识库 :公司可以上传所有的规章制度、技术手册、培训材料等。员工不再需要翻阅成堆的文档,直接通过提问就能快速找到答案,例如“如何申请报销?”或“某个功能的代码实现逻辑是什么?”
②、智能客服 :将产品手册、常见问题解答等录入系统,可以打造一个 24 小时在线的智能客服,自动回答大部分用户的重复性问题,减轻人工客服的压力。
③、个人知识管理 :研究人员、学生或任何需要处理大量信息的人,可以上传自己的论文、笔记、文章,构建一个强大的私有的“第二大脑”,随时通过对话来回顾和利用自己的知识储备。
2.为了服务这些用户和场景,系统提供了哪几个最核心的功能?
首先是文档的管理,系统需要支持多种常见的文档,比如说 PDF、word 和 txt 等,这是知识库构建的基础;接着,上传后的文档能够被自动解析、切片,为后续的智能检索做准备。其次是智能问答和检索,这是整个系统的核心,用户可以通过类似 ChatGPT 的聊天界面,用自然语言进行提问。系统会理解问题并在关联的知识库中检索答案,然后生成回复。系统最好在支持语义向量搜索的同时,兼顾传统的关键词搜索。
最后,系统要支持多用户注册和登录,实现基于角色的访问控制,确保只有授权用户才能访问特定的知识库和功能。admin 用户还可以对用户、知识库、系统配置等进行统一管理。
3.项目的业务架构是怎么样的?不同模块之间的关系是什么?
整个系统架构可以分为四层,分别是用户界面、业务逻辑、AI 集成和数据持久化。当然了,你也可以从 MVC 三层架构来回答(删掉 AI 集成层就好了)。
用户界面层基于 Vue 实现,是一个单页面应用。用户在这里完成登录、注册、文档上传和发起聊天等操作。是所有业务的入口,负责将用户的操作转化为请求,并将后端返回的响应呈现给用户。
业务逻辑层基于 Spring Boot 实现,负责处理前端请求。内部又可以细分为几个关键模块。首先是 API 网关,例如 UploadController 负责文件上传,ChatController 负责处理对话请求。接着是 Service 层,负责具体的业务实现,比如说 UploadService 负责文档接收,ParseService 负责文档解析,VectorizationService 负责调用 AI 服务生成向
回复