干貨分享|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的高級編排設計能力允許用戶靈活地構建和優化智能問數流程,可以有效地確保系統能夠適用于不同的業務需求和問數場景。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/78803.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78803.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/78803.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【python】數據類型小結

1.數據類型 int、float、str、bool、元組tuple、列表list、字典dict、集合set 分為兩類:可變和不可變數據類型 2.可變數據類型和不可變數據類型 當變量的值變化,內存地址不變則為可變數據類型, eg:int、float、bool、字符串st…

泰山派常用命令

0.連接adb 設備列表:adb devices 進入命令:adb shell 1.連接WiFi 查看當前網絡:nmcli con show 我的WiFi名稱:6 我的WiFi密碼:12345789 連接當前網絡:nmcli device wifi connect 6 password 1234578…

whois為什么有時會返回兩個不同的域名狀態

前陣子發現一直想注冊但被別人注冊了的一個域名快要過期了,就想著寫個腳本跑在電腦上,每分鐘檢查一次域名狀態,一旦域名被正式刪除,就發封郵件通知我,這樣就不用頻繁手動檢查域名狀態了。 寫腳本時發現一個有趣的現象…

NGINX ngx_http_addition_module 模塊響應體前后注入內容

一、模塊概述 模塊名稱:ngx_http_addition_module引入版本:自 0.7.9 起支持 addition_types,0.8.29 起支持“*”通配;功能:對符合 MIME 類型的響應,在響應體前后分別插入指定子請求 URI 返回的內容&#x…

半監督學習與強化學習的結合:新興的智能訓練模式

📌 友情提示: 本文內容由銀河易創AI(https://ai.eaigx.com)創作平臺的gpt-4o-mini模型生成,旨在提供技術參考與靈感啟發。文中觀點或代碼示例需結合實際情況驗證,建議讀者通過官方文檔或實踐進一步確認其準…

復習Vue136~180

1.使用create-vue創建項目 npm init vuelatest 項目目錄和關鍵文件: new Vue() 創建一個應用實例 > createApp()、createRouter() createStore() 、將創建實例進行了封裝,保證每個實例的獨立封閉性。 禁用vue2的插件vuter 使用vue3的插件volar scrip…

QT采用mqtt進行通信(17.1)

文章目錄 1.試錯歷程2. qt5.8安裝3. 開始搞了4. 測試連接mqtt broker1.試錯歷程 嘗試過網上說的各種版本,官方庫和第三方庫,試過qt5.9.9, qt5.12, qt5.12.2, qt5.14 等各個版本,都能編譯通過,調用mqtt庫,但是都不能連接成功,真的是試吐了,不知道他們的為什么都能成功,…

西門子PLC結構化編程_水處理系統水泵多備多投

文章目錄 前言一、功能概述二、程序編寫1. 需求分析2. 編寫運行時間累計功能塊3. 創建自定義數據類型1. 時間排序數據類型2. 多備多投數據類型3. 多備多投切換數據類型 4. 編程1. 創建DB數據塊1. 多備多投數據塊2. 多備多投切換數據塊 2. 創建FB功能塊 三、程序調用總結 前言 …

QT:自定義ComboBox

實現效果: 實現combobox的下拉框區域與item區域分開做UI交互顯示。 支持4種實現效果,如下 效果一: 效果二: 效果三: 效果四: 實現邏輯: ui由一個toolbutton和combobox上下組合成,重點在于combobox。 我設置了4種枚舉,ButtonWithComboBox對應效果一;OnlyButt…

VS2022+OpenCasCade配置編譯

一、Open CASCADE Technology介紹及安裝(windows10) Open CASCADE Technology(簡稱OCCT)是一款開源的 3D CAD/CAM/CAE 軟件開發平臺,廣泛應用于工業設計、工程仿真、制造等領域。開源OCC對象庫是一個面向對象C類庫&…

【OSG學習筆記】Day 12: 回調機制——動態更新場景

UpdateCallback 在OpenSceneGraph(OSG)里,UpdateCallback是用來動態更新場景的關鍵機制。 借助UpdateCallback,你能夠實現節點的動畫效果,像旋轉、位移等。 NodeCallback osg::NodeCallback 是一個更通用的回調類&…

全新升級:BRAV-7601-T003高性能無風扇AI邊緣計算系統,助力智能未來!

在數字化與智能化飛速發展的今天,AI邊緣計算正成為各行各業的核心驅動力。BRAV-7601作為一款高性能無風扇AI邊緣計算系統,憑借其強大的硬件配置與豐富的擴展能力,為車路協同、特種車輛車載、機器視覺、醫療影像等領域提供了卓越的解決方案。最…

刪除 Git 遠程記錄并重新設置

刪除 Git 遠程記錄并重新設置 以下是在 Windows 平臺上刪除當前項目的 Git 遠程記錄并重新設置遠程存儲庫的步驟: 步驟一:查看當前遠程倉庫 首先,檢查當前設置的遠程倉庫: git remote -v這會顯示所有已配置的遠程倉庫及其 URL…

有哪些和PPT自動生成有關的MCP項目?

隨著AI技術的快速發展, Model Context Protocol(MCP) 作為一種連接大型語言模型(LLMs)與外部工具的開放協議,正在重塑自動化辦公領域。在PPT自動生成場景中,MCP通過標準化接口實現了AI模型與設計工具、數據源的無縫整合。以下從技術框架、項目案例、應用場景三個維度展開…

PostgreSQL psql 命令和常用的 SQL 語句整理

PostgreSQL psql 命令和常用的 SQL 語句整理 1、登錄PostgreSQL數據庫2、psql 命令3、數據庫操作4、模式操作5、表操作6、數據操作7、索引操作8、視圖操作9、權限操作 1、登錄PostgreSQL數據庫 在系統的命令行界面(如 Windows 的 cmd 或者 PowerShell、Linux 的終端…

【unity游戲開發入門到精通——UGUI】文本輸入控件 —— InputField舊控件

注意:考慮到UGUI的內容比較多,我將UGUI的內容分開,并全部整合放在【unity游戲開發——UGUI】專欄里,感興趣的小伙伴可以前往逐一查看學習。 文章目錄 前言1、文本輸入控件2、InputField舊文本輸入控件組成 一、InputField文本輸入…

獲得ecovadis徽章資格標準是什么?ecovadis評估失敗的風險

EcoVadis徽章資格標準 EcoVadis徽章是對企業在可持續發展(環境、勞工與人權、商業道德、可持續采購)方面表現的認可。獲得徽章需滿足以下條件: 完成評估: 企業必須完成EcoVadis的問卷評估,并提交所有必要文件。 評分…

Python初學 有差異的知識點總結(一)

目錄 一、基礎語法規則 1.注釋 2.代碼編寫 二、基礎語法 1.變量 2.數據類型 3.數據類型的轉換 (1)隱式轉換 (2)顯示轉換 4.標識符 5.運算符 6.字符串 (1)定義 (2)拼接 …

Java面試場景深度解析

Java面試場景深度解析 在互聯網大廠Java求職者的面試中,經常會被問到關于Java項目中的各種技術場景題。本文通過一個故事場景來展示這些問題的實際解決方案。 第一輪提問 面試官:馬架構,歡迎來到我們公司的面試現場。請問您對Java內存模型…

【數據可視化藝術·應用篇】三維管線分析如何重構城市“生命線“管理?

在智慧城市、能源管理、工業4.0等領域的快速發展中,地下管線、工業管道、電力通信網絡等“城市血管”的復雜性呈指數級增長。傳統二維管理模式已難以應對跨層級、多維度、動態變化的管線管理需求。三維管線分析技術應運而生,成為破解這一難題的核心工具。…