無縫融入,即刻智慧[1]:MaxKB知識庫問答系統,零編碼嵌入第三方業務系統,定製專屬智慧方案,使用者滿意度飆升

汀、人工智能發表於2024-08-02

無縫融入,即刻智慧[1]:MaxKB知識庫問答系統,零編碼嵌入第三方業務系統,定製專屬智慧方案,使用者滿意度飆升

1.簡介

MaxKB(Max Knowledge Base)是一款基於 LLM 大語言模型的開源知識庫問答系統,

飛致雲是中國領先的開源軟體公司。飛致雲旗下開源產品包括 1Panel 開源皮膚、JumpServer 開源堡壘機、DataEase 開源資料視覺化分析工具、MeterSphere 開源測試工具、Halo 開源建站工具、MaxKB 開源知識庫問答系統等,涵蓋運維皮膚、運維審計、BI 分析、軟體測試、CMS 建站、知識庫問答等多個領域。飛致雲旗下的開源專案在開源社群表現出了卓越的成長性,在程式碼託管平臺 GitHub 上所獲得的 Star 總數已經超過 12 萬。

  • 官方網址:https://maxkb.cn/

  • GitHub:https://github.com/1Panel-dev/MaxKB

1.1 產品優勢

  • 開箱即用:支援直接上傳文件、自動爬取線上文件,支援文字自動拆分、向量化、RAG(檢索增強生成),智慧問答互動體驗好;

  • 無縫嵌入:支援零編碼快速嵌入到第三方業務系統,讓已有系統快速擁有智慧問答能力,提高使用者滿意度;

  • 靈活編排:內建強大的工作流引擎,支援編排 AI 工作流程,滿足複雜業務場景下的需求;

  • 模型中立:支援對接各種大語言模型,包括本地私有大模型(Llama 3 / Qwen 2 等)、國內公共大模型(通義千問 / 智譜 AI / 百度千帆 / Kimi / DeepSeek 等)和國外公共大模型(OpenAI / Azure OpenAI / Gemini 等)。

記得使用最新版本!!

  • 新增功能

    • 【知識庫】支援建立空知識庫。
    • 【知識庫】建立和設定知識庫時支援選擇不同的向量模型進行向量化。
    • 【模型管理】支援新增 OpenAI 、Ollama 和本地的向量模型。
    • 【模型管理】支援把模型許可權設定為公用或私有。
    • 【應用】高階編排的指定回覆節點支援快捷問題輸出:快捷問題。
    • 【應用】支援設定浮窗模式的對話方塊入口圖示。(X-Pack)
    • 【應用】支援自定義對話方塊的AI回覆的頭像。(X-Pack)
    • 【應用】支援設定浮窗模式的對話方塊是否可拖拽位置。(X-Pack)
    • 【應用】支援設定對話方塊是否顯示歷史記錄。(X-Pack)
    • 【系統設定】支援LDAP單點登入。(X-Pack)
    • 【系統設定】支援自定義主題外觀,設定系統的網站 logo、登入 logo、主題色、登入背景圖、網站名稱、歡迎語等。(X-Pack)
    • 【系統設定】開放系統 API。(X-Pack)
  • 功能最佳化

    • 【知識庫】最佳化文件索引流程,提高知識點召回率。
    • 【知識庫】調整分段內容最大長度為 10 萬個字元。
    • 【應用】調整關聯知識庫時只能選擇使用相同向量模型的知識庫。
    • 【應用】顯示知識來源調整至顯示設定中。
    • 【模型管理】最佳化模型列表樣式。
    • 【關於】最佳化關於頁面顯示資訊。

1.2 版本功能 VS版本對比

  • 知識庫管理

  • 應用管理

  • 大語言模型對接

  • 系統管理和設定

  • 安裝部署/服務規格/產品價格

1.3 MaxKB系統架構

  • 整體架構

  • 實現原理

  • 技術棧
    • 前端:Vue.js、logicflow
    • 後端:Python / Django
    • Langchain:Langchain
    • 向量資料庫:PostgreSQL / pgvector
    • 大模型:Ollama、Azure OpenAI、OpenAI、通義千問、Kimi、百度千帆大模型、訊飛星火、Gemini、DeepSeek等。

2.安裝部署

2.1 離線安裝

  • 環境要求

安裝前請確保您的系統符合安裝條件:

  • 作業系統:Ubuntu 22.04 / CentOS 7 64 位系統;

  • CPU / 記憶體: 推薦 2C/4GB 以上;

  • 磁碟空間:100GB;

  • 瀏覽器要求:請使用 Chrome、FireFox、Edge 等現代瀏覽器;

  • 生產環境推薦使用離線部署

  • 離線部署 [✔]

注意:離線包僅支援 x86 伺服器。

開啟社群網站下載 MaxKB 離線包 社群版離線包

上傳至伺服器後進行解壓縮,執行以下命令:

#maxkb-v1.2.0-offline.tar.gz替換成下載包的名字  
tar -zxvf maxkb-v1.2.0-offline.tar.gz

安裝 MaxKB, 執行以下命令:

#進入安裝包解壓縮後目錄  
cd maxkb-v1.2.0-offline

#執行安裝命令
bash install.sh

  • 如果遇到docker安裝相關問題可以參考下述連結:

一文帶你入門向量資料庫milvus:含docker安裝、milvus安裝使用、attu 視覺化,完整指南啟動 Milvus 進行了向量相似度搜尋

安裝成功後,可透過瀏覽器訪問 MaxKB:

http://目標伺服器 IP 地址:8080

預設登入資訊
使用者名稱:admin
預設密碼:MaxKB@123..

  • 離線升級

2 離線部署 執行步驟一樣.

2.2 線上安裝

  • 環境要求

安裝前請確保您的系統符合安裝條件:

  • 作業系統:Ubuntu 22.04 / CentOS 7 64 位系統;

  • CPU / 記憶體: 推薦 2C/4GB 以上;

  • 磁碟空間:100GB;

  • 瀏覽器要求:請使用 Chrome、FireFox、Edge 等現代瀏覽器;

  • 可訪問網際網路

  • 線上快速部署

MaxKB 支援一鍵啟動,僅需執行以下命令:

docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data cr2.fit2cloud.com/1panel/maxkb

友情提示:社群版限制 1 個團隊成員,5 個應用,50 個知識庫。

安裝成功後,可透過瀏覽器訪問 MaxKB:

http://目標伺服器 IP 地址:目標埠

預設登入資訊
使用者名稱:admin
預設密碼:MaxKB@123..

如果使用的是雲伺服器,請至安全組開放目標埠。

  • 線上升級

注意:升級前確認資料持久化目錄(-v 後的目錄),建立新容器時要跟上一次資料持久化目錄保持一致,否則啟動後資料為空。
執行以下命令:

1 下載最新映象

docker pull cr2.fit2cloud.com/1panel/maxkb

2 確認上一次資料持久化目錄,複製儲存,第 4 步使用

3 刪除正在執行的 MaxKB 容器

4 建立並啟動 MaxKB 容器

docker run -d --name=maxkb -p 8080:8080 -v /opt/maxkb/pgsql/data:/var/lib/postgresql/data cr2.fit2cloud.com/1panel/maxkb

#注意:確認資料持久化目錄(-v後的目錄)要跟【第 2 步】的目錄保持一致,否則啟動後資料為空。

2.3 1Panel安裝

關於 1Panel 的安裝部署與基礎功能介紹,請參考 1Panel 官方文件。在完成了 1Panel 的安裝部署後,根據提示網址開啟瀏覽器進入 1Panel,如下介面。

  • 安裝 MaxKB

進入應用商店應用列表,在【 AI / 大模型】分類下找到 MaxKB 應用進行安裝。

在應用詳情頁選擇最新的 MaxKB 版本進行安裝,進行相關引數設定。

  • 名稱:要建立的 MaxKB 應用的名稱。
  • 版本:選擇 MaxKB 最新版本。
  • 埠:MaxKB 應用的服務埠。
  • 容器名稱:MaxKB 應用容器名稱。
  • CPU 限制:MaxKB 應用可以使用的 CPU 核心數。
  • 記憶體限制:MaxKB 應用可以使用的記憶體大小。
  • 埠外部訪問:MaxKB 應用可以使用 IP:PORT 進行訪問(MaxKB 應用必須開啟外部埠訪問)。

點選開始安裝後,頁面自動跳轉到已安裝應用列表,等待安裝的 MaxKB 應用狀態變為已啟動。

  • 訪問 MaxKB

安裝成功後,透過瀏覽器訪問如下頁面登入 MaxKB:

地址: http://目標伺服器IP地址:服務執行埠(預設 8080)     
使用者名稱: admin    
密碼: MaxKB@123..

第一次登入需修改 admin 使用者的密碼,修改密碼後,重新登入系統即可使用 MaxKB。

2.4 kbctl運維工具

  • kbctl 命令

MaxKB 離線安裝包預設內建了命令列運維工具 kbctl,透過執行 kbctl help,可以檢視相關的命令說明。

Usage:
kbctl [COMMAND] [ARGS...]
kbctl --help

Commands: 
status              檢視 MaxKB 服務執行狀態
start               啟動 MaxKB 服務
stop                停止 MaxKB 服務
restart             重啟 MaxKB 服務
reload              重新載入 MaxKB 服務
uninstall           解除安裝 MaxKB 服務
upgrade             升級 MaxKB 服務
version             檢視 MaxKB 版本資訊

3. MaxKB快速實踐

3.1 登入 MaxKB 系統

使用瀏覽器開啟服務地址:http://目標伺服器IP地址:目標埠。
預設的登入資訊:
使用者名稱:admin
預設密碼:MaxKB@123..

3.2 新增模型

3.2.1 新增千帆大模型

點選【新增模型】,選擇供應商【千帆大模型】,直接進入下一步填寫千帆大模型表單。 或者左側供應商先選擇【千帆大模型】,然後點選【新增模型】,則直接進入千帆大模型表單。

  • 模型名稱: MaxKB 中自定義的模型名稱。
  • 模型型別: 大語言模型。
  • 基礎模型: 為供應商的 LLM 模型,支援自定義輸入官方模型,選項中列了的一些常用的大語言模型。 注意自定義基礎模型名稱需保證與供應商平臺的模型名稱一致才能校驗透過。
  • API Key 和 Secret Key:千帆大模型中應用的 API Key 和 Secret Key(需要先建立應用)

3.2.2 新增 Ollama 模型

API 域名和 API Key: 為供應商的連線資訊(Ollama 服務地址, 如:http://42.92.198.53:11434 )。若沒有 API Key 可以輸入任意字元。
點選【新增】後 校驗透過則新增成功,便可以在應用的 AI 模型列表選擇該模型。

3.2.3 新增 Azure OpenAI 模型

基礎模型: 為供應商的 LLM 模型,支援自定義輸入和下拉選項,當前可下拉選擇的大語言模型如:gpt-3.5-turbo-0613、gpt-3.5-turbo-0301、gpt-3.5-turbo-16k-0613 等。

API 域名、API Key、部署名稱: 是 Azure OpenAI 的模型部署中提供的,需要填寫一致,參考下圖:

3.2.4 新增 OpenAI 大模型

基礎模型: 為供應商的 LLM 模型,支援自定義輸入,下拉選項是 OpenAI 常用的一些大語言模型如:gpt-3.5-turbo-0613、gpt-3.5-turbo、gpt-4 等。
API 域名(國外):https://api.openai.com/v1 。 API 域名:國內伺服器反向代理地址 / v1。 API Key:訪問 OpenAI 的 Key。

3.2.5 新增訊飛星火大模型

基礎模型: 支援自定義輸入,對應介面文件中 domain,下拉選項是訊飛星火常用的一些大語言模型。
API 域名:每個基礎模型對應的 API 域名不同,請根據所選基礎模型輸入對應的 API 域名,參考訊飛星火官方文件

APP ID、API Key、Secret Key 需要現在訊飛星火開放平臺建立應用,並且應用的剩餘 tokens>0,才能新增成功。

3.2.6 新增智譜 AI 大模型

API Key: 需要現在智譜 AI 開放平臺建立。

3.2.7 新增通義千問大模型

API Key: 需要在阿里雲 ->DashScope 靈積模型服務 ->API Key 管理中獲取。

3.2.8 新增 Kimi 大模型

API 域名: https://api.moonshot.cn/v1
API Key: 在 Kimi 賬戶中心的 API Key 管理中獲取 key。

3.2.9 新增 DeepSeek 大模型

API Key: 在 DeepSeek 官方 獲取 API Key。

3.2.10 新增 Gemini 大模型

注意:使用 Gemini API 需要確保程式所在伺服器位於 Gemini API 所支援的地區 ,否則無法呼叫 API,並且無法進入 Google AI Studio。

3.3 建立通用型知識庫

開啟【知識庫】頁面,點選【建立知識庫】,進入建立知識庫頁面。 輸入知識庫名稱、知識庫描述、選擇通用型知識庫型別。 然後將離線文件透過拖拽方式或選擇檔案上傳方式進行上傳。

  • 上傳文件

    • 上傳文件要求:
      • 支援文字檔案格式為:Markdown、TXT、PDF、DOCX、HTML; 支援 QA 問答對格式為:Excel、CSV;
      • 每次最多上傳 50 個檔案;
      • 每個檔案不超過 100 MB; 支援選擇資料夾,上傳資料夾下符合要求的檔案。
  • 文件規範建議:

    1. 規範分段標識:離線文件的分段標識要有一定規範,否則拆分出來的段落會不規整。
    2. 段落要完整:一個分段中最好能描述一個完整的功能點或問題。

  • 設定分段規則

智慧分段

MarkDown 型別的檔案分段規則為:根據標題逐級下鑽式分段(最多支援 6 級標題),每段的字元數最大為 4096 個字元;   
                        當最後一級的文字段落字元數超過設定的分段長度時,會查詢分段長度以內的回車進行擷取。     
HTML、DOCX 型別的分段規則為:識別標題格式轉換成 markdown 的標題樣式,逐級下鑽進行分段(最多支援 6 級標題)每段的字元數最大為 4096 個字元;
TXT和 PDF 型別的檔案分段規則為:按照標題# 進行分段,若沒有#標題的則按照字元數4096個字元進行分段,會查詢分段長度以內的回車進行擷取。  

高階分段

使用者可以根據文件規範自定義設定分段識別符號、分段長度及自動清洗。   
分段標識支援:#、##、###、####、#####、######、-、空行、回車、空格、分號、逗號、句號,若可選項沒有還可以自定義輸入分段識別符號。   
分段長度:支援最小 50個字元,最大 4096 個字元。   
自動清洗:開啟後系統會自動去掉重複多餘的符號如空格、空行、製表符等。     

匯入時新增分段標題為關聯問題

勾選後會把所有分段的標題設定為分段的關聯問題。

預覽

  • 分段規則設定完成後,需要點選【生成預覽】檢視最新規則的分段效果。

  • 使用者可在分段預覽中對不合理的分段進行編輯和刪除。

  • 點選【建立並匯入】後,系統會對文件進行自動分段 -> 儲存 -> 向量化處理操作。在建立完成頁面可以看到匯入的文件數量、分段數量和字元數。

4. 建立應用

點選【建立應用】,輸入應用名稱,選擇【簡易配置應用】,點選【建立】

  • 應用建立完成,進入簡易配置應用的設定頁面,左側為應用資訊,右側為除錯預覽介面。
  • 應用名稱:使用者提問時對話方塊的標題和名字。
  • 應用描述:對應用場景及用途的描述。
  • AI 模型: 在【系統設定】-【模型管理】中新增的大語言模型。
  • 提示詞:系統預設有智慧知識庫的提示詞,使用者可以自定義透過調整提示詞內容,可以引導大模型聊天方向. 多輪對話: 開啟時當使用者提問攜帶使用者在當前會話中最後 3 個問題;不開啟則僅向大模型提交當前問題題。
  • 關聯知識庫:使用者提問後會在關聯的知識庫中檢索分段。
  • 開場白:使用者開啟對話時,系統彈出的問候語。支援 Markdown 格式;[-] 後的內容為快捷問題,一行一個。
  • 問題最佳化:對使用者提出的問題先進行一次 LLM 最佳化處理,將最佳化後的問題在知識庫中進行向量化檢索;
  • 開啟後能提高檢索知識庫的準確度,但由於多一次詢問大模型會增加回答問題的時長。

應用資訊設定完成後,可以在右側除錯預覽中進行提問預覽,除錯預覽中提問內容不計入對話日誌。

  • 引數設定詳細說明
    1. 檢索模式:

      • 向量檢索:使用向量模型透過向量距離計算與使用者問題最相似的文字分段;
      • 全文檢索:透過關鍵詞檢索,返回包含關鍵詞最多的文字分段;
      • 混合檢索:同時執行全文檢索和向量檢索,再進行重排序,從兩類查詢結果中選擇匹配使用者問題的最佳結果。
    2. 相似度:

      • 相似度越高代表問題和分段的相關性越強。
    3. 引用分段數:

      • 提問時按相似度攜帶 N 個分段生成提示詞詢問 LLM 模型。
    4. 引用最大字元數:

      • 引用分段內容設定最大字元數,超過時則截斷。
    5. 無引用知識庫時,有 2 種處理方式可設定:

      • 繼續提問:可以自定義設定提示詞,需要有 {question} 使用者問題的佔位符,才會把使用者問題傳送給模型。
      • 指定回覆內容:當沒有命中知識庫分段時可以指定回覆內容。

以上 4 步完成後,便可進行問答對話了。

5. 效果展示

在應用列表頁面,點選【演示】或者點選應用皮膚,在概覽頁面點選演示或複製公開訪問連結至瀏覽器進入問答頁面進行提問。

6. 對話日誌

在對話日誌鍾記錄了所有使用者會話中的問答詳情,包括使用者對 AI 回答的反饋資訊。 維護人員可以透過檢視對話日誌和使用者反饋來修正答案。

更多優質內容請關注公號:汀丶人工智慧;會提供一些相關的資源和優質文章,免費獲取閱讀。

更多優質內容請關注CSDN:汀丶人工智慧;會提供一些相關的資源和優質文章,免費獲取閱讀。

相關文章