游乐游手机版
首页/AI热点日报/热点详情

基于MCP架构的知识库答疑系统实践

类型:热点整理2026-07-08
2025年被普遍视为AI Agent元年,从当前技术演进的节奏来看,这一预测正在逐步成为现实。年初DeepSeek爆火之后,开源大模型的能力已基本与商业模型持平,甚至在某些维度上实现了超越。完全开放的开源策略,在某种意义上推动了大模型使用的真正平权——这直接改变了AI应用的商业逻辑:基于自训练的闭源

2025年被普遍视为AI Agent元年,从当前技术演进的节奏来看,这一预测正在逐步成为现实。年初DeepSeek爆火之后,开源大模型的能力已基本与商业模型持平,甚至在某些维度上实现了超越。完全开放的开源策略,在某种意义上推动了大模型使用的真正平权——这直接改变了AI应用的商业逻辑:基于自训练的闭源模型优势被明显削弱,竞争的主战场正在从模型性能转向应用场景的创新与落地。

AI应用的形态也在持续演进,从早期的对话机器人到RAG,再到如今的Agent。回顾Web 2.0和移动互联网时代的技术发展脉络,每当一种新型应用需求出现爆发式增长,必然会催生新的开发框架和行业标准。AI应用如今正经历这一过程。

当前开发框架尚未统一,仍处于百花齐放、百家争鸣的阶段。Python能否成为主流开发语言,哪个框架最终胜出,这些都还是未知数。但有一点值得关注——近期大热的MCP(Model Context Protocol)正在逐步成为事实标准,尤其是在OpenAI宣布支持MCP之后。

关于MCP的具体介绍在此不再展开。从实践角度出发,我们动手构建了一个项目,主要目的是体验如何基于MCP开发一个Agent应用。本次实践实现的是最常见的一类AI应用场景——答疑系统,支持基于私有知识库的问答,在知识库构建与RAG方面进行了多项优化。

MCP 实践:基于 MCP 架构实现知识库答疑系统

整体流程设计

整个流程分为两大模块:知识库构建与知识检索。

1. 知识库构建

  • 文本切段:对文本进行分段处理,确保每段内容的完整性与语义一致性。
  • 提取FAQ:根据文本内容提取常见问题与答案(FAQ),作为知识库检索的补充,提升整体检索效果。
  • 导入知识库:将文本段落和FAQ导入知识库,经过Embedding处理后存入向量数据库。

2. 知识检索(RAG)

  • 问题拆解:对输入的复杂问题进行拆解与重写,拆分成更细粒度的子问题。
  • 检索:针对每个子问题分别检索相关的文本段落与FAQ。文本采用向量检索,FAQ则采用全文与向量的混合检索。
  • 知识库内容筛选:对检索结果进行二次筛选,保留与问题最相关的内容用于最终回答。

相比传统的Naive RAG方案,本次在知识库构建与检索两个环节均实施了常见优化,包括Chunk切分优化、FAQ提取、Query Rewrite、混合检索等手段。

Agent架构

整体架构分为三个部分:

  • 知识库:内部包含Knowledge Store和FAQ Store,分别存储文本内容与FAQ内容,支持向量与全文的混合检索。
  • MCP Server:提供对Knowledge Store和FAQ Store的读写操作,共暴露了4个Tool。
  • 功能实现部分:完全通过Prompt + LLM实现知识库的导入、检索和问答等核心功能。

具体实现

所有代码已开源,分为两部分:

  • Python实现的Client端:实现了与大模型的交互逻辑,通过MCP Client获取Tools,根据大模型的反馈调用Tools等基础能力。同时通过Prompt实现了知识库构建、检索和问答三个主要功能。
  • Java实现的Server端:基于Spring AI框架实现了MCP Server。底层存储选用Tablestore,主体框架基于此前文章中的代码进行了改造。

知识库存储

选择Tablestore作为知识库的存储方案,主要基于以下几个关键原因:

  • 简单易用:创建实例后即可直接使用。Serverless模式无需管理容量,也无需后续运维。
  • 低成本:完全按量计费,存储规模可自动水平扩展,最大可扩展至PB级别。当然,如果采用本地知识库则零成本,但这里实现的是一个企业级、可云端共享的知识库。
  • 功能完备:支持全文、向量和标量等多种检索功能,并支持混合检索。

MCP Server

实现了4个Tool,相关描述如下表:

知识库构建

1. 对文本进行切段并提取FAQ

整个过程完全通过提示词完成,可根据自身需求进行调优。从实际效果来看,大模型能够较为准确地完成文本切段与FAQ提取。这种方案的优势在于:切段后的文本能保证完整性与语义一致性,格式处理也比较灵活。FAQ提取非常全面,对于简单问题,直接搜索FAQ是最准确直接的方式。唯一的不足是执行速度较慢、成本较高,一次操作会消耗大量Token,不过好在这属于一次性投入。

2. 写入知识库和FAQ库

这一步同样通过提示词完成。基于MCP架构,实现起来非常简洁。

知识库检索

同样,这一步也通过提示词加MCP实现,逻辑清晰明了。通过提示词描述,实现了一个稍复杂的检索流程:

  1. 先对问题进行拆解,拆分成更细粒度的子问题。
  2. 每个子问题分别检索知识库和FAQ,将检索结果汇总后再进行筛选,保留下与问题最相关的内容。
  3. 按照固定格式返回结果。

知识库问答

从提示词和实际效果来看,整个问答过程并不复杂。MCP Server的日志显示,系统自动调用了知识库与FAQ的检索工具,并能根据之前导入的内容进行准确回答。

演示

1. 创建知识库存储实例

通过命令行工具创建Tablestore实例,配置完成后执行命令创建实例。实例名需自行选择,保证在所属Region内唯一即可。

2. 启动MCP Server

启动前需要在环境变量中配置如下参数:

可参考代码库README内的步骤启动,也可以将项目导入IDE后直接运行App类。启动后系统会自动初始化表和索引。

3. 导入知识库

执行代码库内的knowledge_manager.py工具。执行前需配置大模型的API-KEY,默认采用qwen-max。

4. 检索知识库

直接执行即可。

5. 基于知识库进行问答

最后

回看开头提到的观点:这一轮技术革命可以参考Web 2.0与移动互联网时代的发展路径——当新形态的应用开发需求爆发式增长时,一定会催生新的开发框架与行业标准。AI应用的技术完全可以构建在当前技术框架之上,因此发展迭代的速度异常之快。对于未来的演进方向,值得我们持续期待。

来源:https://www.53ai.com/news/RAG/2025042103869.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。