干货分享|MaxKB 智能问数方案及步骤详解


DeepSeek-R1的发布掀起了AI智能变革的浪潮。在过去几个月里,MaxKB开源企业级AI助手已经帮助大量企业和组织快速落地了DeepSeek,让AI在不同的行业土壤中产生持续、可度量的业务价值。

MaxKB(github.com/1Panel-dev/MaxKB) 可以为本地部署的DeepSeek构建一个Chatbox,也就是一个智能会话的界面,类似于个人用户直接与DeepSeek进行对话。MaxKB提供的Chatbox可以方便地嵌入到企业OA系统和业务系统,有效保证使用的便捷性和安全性。

另外一方面,MaxKB能够激活企业中长期积累的知识体系,使其智能化并面向内外部用户提供服务。MaxKB可以让企业内部的私有知识文档快速获得智能问答能力,面向企业的员工、合作伙伴和客户提供AI助手服务。MaxKB还提供开箱即用的RAG(检索增强生成)技术,能够结合私有知识库提升问答效果,降低大模型幻觉。MaxKB同时支持目前最为流行的MCP(Model Context Protocol,模型上下文协议),为用户灵活调用MCP工具提供了充分的便利性。

在帮助企业落地DeepSeek的过程中,MaxKB开源项目组发现很多企业都有“智能问数”的需求,即允许员工使用自然语言查询方法从数据库中检索结构化数据,并展示成直观的图表。本文将通过一个具体的例子(查询学生成绩),详细讲解如何通过“MaxKB+数据库MCP Server+QuickChart MCP Server”实现智能问数的功能。

方案概述

本方案以“学生考试成绩管理系统”为例进行说明,此系统包含了教师信息、学生信息、年级班级信息、考试成绩等信息内容。

MaxKB智能问数方案逻辑图如下:

MaxKB智能问数方案的具体实现步骤为:

MaxKB的智能问数方案包含以下三大关键步骤:

■ 数据准备:包含数据表详细的DDL(Data Definition Language,数据定义语言)信息和正确的SQL示例,以便大模型能够更好地理解和使用数据;

■ MCP Server准备:需要提前准备对应数据库的MCP Server和生成图表的MCP Server。此阶段可以采用1Panel开源面板来统一部署和运维MCP Server;

■ MaxKB智能问数应用设计:主要包含在MaxKB中如何通过高级应用编排实现智能问数的效果。

步骤一:数据准备

1. 数据准备

提前准备“学生考试成绩管理系统”数据表详细的DDL信息,需要确保所有数据表的DDL信息完整且准确,包括字段类型、约束条件等。DDL信息后续需要导入到MaxKB知识库中,如果当前数据表不具备或者不清晰,具体可以参考下图进行完整性补充。

2. SQL示例准备

基于日常工作遇到的查询需求,我们需要提前准备多样化的SQL示例(本Demo数量为100条SQL查询示例),同时需要保证和测试这些SQL的准确性。后续我们需要将这些SQL查询示例导入到MaxKB知识库中。具体准备过程可以参考下图,采用Execl方式进行绘制和编写。

步骤二:MCP Server准备

1. 数据库MCP Server准备

本Demo采用的是MySQL数据库,因此需要提前准备MySQL的MCP Server。在这里我们使用了Github上的DBHub开源项目(https://github.com/bytebase/dbhub)部署MySQL的MCP Server。此项目同时还支持PostgreSQL、SQL Server等数据库。

DBHub的部署方式也很简单:进入1Panel应用商店,在“AI/大模型”分类下找到DBHub应用,点击安装即可(注意:需确保1Panel服务器已放行SSE端口)。

 

部署完成后,我们使用curl方式进行快速验证,返回如下信息即为部署成功:

2. 生成图表MCP Server准备

生成图表的步骤采用“QuickChart.io+Quickchart-MCP-Server”来完成。QuickChart 项目(https://github.com/typpo/quickchart)支持用户通过提供数据和样式参数来创建多种类型的图表,支持从柱状图到速度表等多种图表类型,并且提供生成图表URL和下载图表图片的功能。Quickchart-MCP-Server项目(https://github.com/GongRzhe/Quickchart-MCP-Server)则提供了QuickChart的MCP服务。

需要注意的是,由于Quickchart-MCP-Server项目没有提供SSE访问方式,所以不同于DBHub项目,我们需要在1Panel开源面板(github.com/1Panel-dev)的MCP模块中进行部署。具体操作也非常简单:打开1Panel开源面板,依次选择“AI”→“MCP”→“创建MCP服务器”→“导入MCP Server配置”,导入如下Quickchart-MCP-Server的命令配置即可:

{
  "mcpServers": {
    "quickchart-server": {
      "command": "npx",
      "args": [
        "-y",
        "@gongrzhe/quickchart-mcp-server"
      ]
    }
  }
}

同时,注意开启外部端口访问和地址。

等待几秒后,可以看到1Panel中显示QuickChart的MCP Server已经启动。

接下来,我们使用curl方式进行快速验证,返回如下信息即显示QuickChart的MCP Server已经部署成功。

步骤三:MaxKB智能问数应用设计

1. 将准备好的表信息和SQL示例导入知识库

■ 创建表信息知识库,导入表信息,并将每一张表的信息作为一个分段,具体如下图显示。

为了提高后续检索的相似度,建议同时为每一张表创建问题,问题主要为此表的名称(此操作的意义为:比如用户提问“7年级一共有多少老师”,知识库中能够准确地匹配出班级表和教师表两张表)。问题需要尽量地覆盖用户对不同对象的称呼,比如教师又可以称为老师,具体如下图所示。

 

■ 创建示例SQL库,导入SQL示例,一个SQL示例作为一个分段。

同理,为不同的SQL示例创建问题,如下图所示:

2. MaxKB智能问数编排

■ 创建空白的高级编排,名称自取即可

■ 添加两个知识库检索节点,用于用户检索表信息和示例SQL。同时设置相似度为0.4,引用分段数TOP为6。

注意:此处很重要也很关键,需要按照不同的应用场景和数据库进行大量的测试,最终选择合适的相似度和引用分段数TOP值。建议首先从相似度0.4,引用分段数TOP值为6开始测试效果。

■ 添加AI对话节点,配置AI模型(注意要选择支持MCP的模型,比如DeepSeek-Chat或者Qwen-Plus),同时在AI对话节点中配置MCP Server:

配置在步骤一中已经部署完成的MCP Server的Config信息,具体的配置信息如下:

{
  "quickchart-server": {
    "url": "http://10.1.240.110:18003/quickchart-server",
    "transport": "sse"
    },
  "mcp-mariadb": {
    "timeout": 180,
    "url": "http://10.1.240.106:8080/sse",
    "transport": "sse"
  }
}

■ 设置AI对话节点的角色提示词

# 角色
你是一位专业的数据分析专家,精通MYSQL数据库SQL语言,能够熟练运用 mcp-mysql 工具进行SQL验证和查询,还能使用 quickchart-server 工具绘制图表,并对相关数据进行深入分析和解释。
 
## 技能
### 技能1: 生成并验证SQL
1. 基于用户提出的问题,结合已知信息,生成SQL语句。
2. 使用mcp-mysql工具对每次生成的SQL进行验证和查询。若SQL出现错误,需尝试三次不同的SQL表述。
3. 记录每次SQL验证和查询的结果。
 
### 技能2: 绘制图表
1. 根据用户需求以及生成的SQL查询结果,利用quickchart-server工具生成相关图表。
2. 确保生成的图表能够清晰、美观的展示相关数据。
 
### 技能3: 数据的分析和解释
1. 对SQL查询得到的数据进行详细分析,结合用户的问题,找出数据的关键特征和趋势。
2. 以通俗易懂的语言向用户解释数据所代表的含义以及数据与用户问题之间的关系。
 
## 限制
- 仅围绕与生成SQL、利用工具查询验证、生成图片以及数据的分析和解释相关的内容进行回答,拒绝回答不涉及这些内容的话题。
- 生成的SQL需符合MYSQL语法规范,生成的图片应符合数据展示要求,分析和解释需要基于真实的查询结果。
- 分析和解释部分应尽量简洁明了,突出重点。
- 操作过程严格按照上述技能要求执行,不得随意更改工具使用方式。

■ 设置AI对话节点的用户提示词

# 已知信息
## 表信息:
{{表信息.data}}
 
## 参考示例SQL:
{{示例SQL.data}}
 
# 用户问题:
{{开始.question}}

效果验证和总结

在MaxKB中按步骤设置完成后,可以进行调试测试,调试测试通过后方可进行应用发布。验证发现,大模型会按照我们设定的提示词,根据已经给出的表信息和SQL示例,自行编写SQL语句,调用MySQL MCP Server进行查询和验证结果,调用QuickChart MCP Server进行图表绘制,最后给出数据分析。

■ 问题一:每个班级学生占比图

■ 问题二:每个年级有多少名学生?

■ 问题三:哪个老师教的学生最多?

■ 问题四:成绩排名前10的学生名字、分数和班级

由此可见,MaxKB通过其强大的RAG技术和MCP调用能力,能够完整且准确地实现智能问数的场景。

RAG技术结合了信息检索和文本生成的优势,使得系统能够在理解用户查询的基础上,从大量数据中检索相关信息,并且生成准确、相关的SQL查询语言。而MCP工具则提供了强大的SQL查数验数能力和动态的图表绘制能力,从而为智能问数系统提供了坚实的数据基础。最终,通过MaxKB的高级编排设计能力允许用户灵活地构建和优化智能问数流程,可以有效地确保系统能够适用于不同的业务需求和问数场景。


相關推薦

2024-07-07

7,800个。来自开源社区的积极反馈进一步验证了用户侧对智能知识库问答系统的迫切需求,以及MaxKB在这一重要生成式AI应用场景的受欢迎程度。 2024年7月5日, MaxKB开源知识库问答系统正式发布v1.3.0版本。在这一版本中,MaxKB新

2024-08-02

过1,100次。来自开源社区的积极反馈持续验证着用户侧对智能知识库问答系统的迫切需求,以及MaxKB在这一重要生成式AI应用场景的受欢迎程度。 亮点更新 ■ 向量模型支持OpenAI、Ollama和本地部署 在v1.4.0社区版本中,MaxKB支持添

2024-09-30

款专注于知识库应用场景的软件产品,MaxKB能够为企业的智能化进程注入新的动力,助力企业实现“提质增效”的目标。在知识库管理方面,MaxKB帮助企业实现知识采集、知识入库、知识库构建的全流程自动化;在场景化智能搜

2024-08-29

公共信用服务平台,深圳信用网也希望能够面向公众提供智能化的问答服务。深圳信用网希望推出知识库问答服务主要出于以下几方面的需求: ■ 提高服务效率,减少用户等待时间 深圳信用网每年的访问量高达1000万次,是公

2024-10-01

、飞书和微信公众号等平台的无缝集成能力,为企业打造智能化应用提供了强有力的支持,企业用户可以利用这一功能打造面向移动端的知识库问答系统。 ▲图9 MaxKB支持应用接入 ■ 支持自定义主题和项目信息设置(X-Pack增

2022-07-24

日签到台领取~ 活动福利 惊喜一:线下的活动,除了干货满满的分享内容,肯定少不了精美可口的茶歇! 惊喜二:活动现场签到,即可领取 Data Everywhere  系列精美定制周边! 惊喜三:现场提问环节,还有机会获得 U

2023-08-25

例实践等,形式不限,请投稿给小助手。例如: 技术干货 | Linkis 实践:新引擎实现流程解析 技术干货 | Prophecis 保姆级部署教程 社区开发者专栏 | MariaCarrie:Linkis1.0.2 安装及使用指南   4 ► 社区答疑:

2022-11-22

业试用版】https://sourl.cn/GpHzdP 想要了解更多关于Alluxio的干货文章、热门活动、专家分享,可点击进入【Alluxio智库】:

2023-05-30

内外超过 220 位嘉宾,带来了精彩的主题演讲、圆桌会议分享。 论坛包括“AI 编程”“Rust”“OpenSDV 软件定义汽车”“eBPF”“开源创投”“AI is Everywhere”“Cloud Native Summit”“基础设施与软件架构”“数据与数据库技术”“OSS C

2024-07-05

区副秘书长刘敏带来《openKylin根社区建设进展介绍》主题分享,向与会伙伴介绍了社区的基本情况、治理模式、开源趋势及社区取得的相关成果。目前,已有超500家伙伴加入社区,涵盖了基础软件、CPU、GPU、整机、应用软件、人

2024-10-18

开源组织出品,Dromara 社区将携多位成员带来精彩的技术分享,展示国产开源力量。 Dromara 是由国内顶尖的开源项目作者共同组成的开源社区。提供包括分布式事务,日志,流行工具,企业级认证,微服务,运维监控,调度编

2024-04-30

站,为用户提供一致的使用体验。无论是社交互动、内容分享还是电商购物,DyJava都能为开发者提供强大的技术支持。 开放平台接入: DyJava让开发者能够轻松接入抖音开放平台,实现与其他抖音应用的互联互通。无论是获

2025-03-29

量,飞致云(即杭州飞致云信息科技有限公司)凭借旗下MaxKB开源知识库问答系统、1Panel开源面板、Halo开源建站工具等开源工具软件在阿里云镜像市场的用户认可度和产品服务能力,成功入选“2024年度Alibaba Cloud Linux最佳AI镜像

2024-09-21

截至2024年9月18日17:30,FIT2CLOUD飞致云旗下开源项目——基于大语言模型和RAG的知识库问答系统MaxKB GitHub Star数超过10,000个!