最新案例動態,請查閲【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫。小夥伴們快來領取華為開發者空間進行實操吧!

本案例由開發者:雲聰明提供

1 概述

1.1 案例介紹

ModelArts Studio作為一款先進的大模型即服務平台,集成了高效便捷的模型開發工具鏈,支持企業對大模型進行深度定製開發,實現模型應用與業務系統的深度融合,從而顯著降低企業AI技術的落地成本與實施難度,助力企業快速實現智能化轉型。 如今,知識庫已成為企業和個人提升工作效率、積累知識資產的重要工具。傳統知識庫存在構建成本高、維護困難、檢索效率低等問題。本案例利用Kotaemon框架和ModelArts Studio提供的DeepSeek-V3模型,構建一個高效、便捷、可定製的本地/私人知識庫,方便開發者檢索各種場景的文檔,提高工作效率。有下列應用場景:開發者文檔檢索: 開發者可以快速檢索 API 文檔、代碼示例、技術博客等,提高開發效率;企業內部知識管理: 企業可以構建內部知識庫,方便員工共享和檢索知識,提升團隊協作效率;個人知識積累: 個人可以利用知識庫管理學習筆記、項目資料等,構建個人知識體系。

1.2 適用對象

  • 企業
  • 個人開發者
  • 高校學生

1.3 案例時間

本案例總時長預計60分鐘。

1.4 案例流程

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_docker

説明:

  1. 用户使用登錄開發者空間並配置雲主機;
  2. 用户提供Firefox瀏覽器在ModelArts Studio平台中領取DeepSeek-V3模型;
  3. 使用docker部署Kotaemon框架
  4. Kotaemon調用ModelArts Studio平台中的DeepSeek-V3 API模型;
  5. 用户在Firefox瀏覽器中構建AI知識庫並對其進行聊天。

1.5 資源總覽

資源名稱

規格

單價(元)

時長(分鐘)

開發者空間——雲主機

4vCPUs | 8GB | ARM | Ubuntu

免費

60

2 資源與開發環境準備

2.1 開發者空間配置

面向廣大開發者羣體,華為開發者空間提供一個隨時訪問的“開發桌面雲主機”、豐富的“預配置工具集合”和靈活使用的“場景化資源池”,開發者開箱即用,快速體驗華為根技術和資源。

如果還沒有領取開發者空間雲主機,可以參考免費領取雲主機文檔領取。

領取雲主機後可以直接進入華為開發者空間工作台界面,點擊打開雲主機 \> 進入桌面連接雲主機。

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_docker_02

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_03

2.2 領取DeepSeek-V3模型

參考案例《華為雲MaaS大模型服務百萬商用Tokens領取使用指導》中的“一、 領取”章節內容,領取華為開發者空間百萬token代金券福利,購買ModelArts Studio DeepSeek-V3 輕量體驗包(¥3.50)。開通商用模型服務,最後獲取模型名稱API地址API Key的參數值。

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_04

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_05

注意:記錄API KeyAPI地址以及model名稱留作後面步驟使用。

3 安裝、配置並使用Kotaemon

3.1 Kotaemon安裝

Kotaemon 是一個開源的、簡潔且高度可定製的 RAG(Retrieval-Augmented Generation,檢索增強生成)用户界面,專門設計用於與您的文檔進行對話。無論是普通用户還是開發者,Kotaemon 都旨在提供一種直觀、靈活且高效的方式來管理和交互您的文檔內容。它不僅僅是一個簡單的聊天工具,更是一個集成了先進 AI 技術的智能文檔助手,能夠幫助用户快速檢索、理解和生成與文檔相關的信息。

項目地址:https://github.com/Cinnamon/kotaemon

本次通過docker安裝Kotaemon。

首先安裝docker:

參考文檔:https://support.huaweicloud.com/bestpractice-ecs/zh-cn_topic_0141067581.html

打開終端,輸入命令,執行下列操作。

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_06

(1)登錄開發者空間雲主機,更新軟件包列表。

sudo apt-get update

(2)安裝Docker所需依賴包。

sudo apt-get -y install ca-certificates curl

(3)創建/etc/apt/keyrings目錄,並下載Docker的官方GPG密鑰到該目錄。

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://mirrors.huaweicloud.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

(4)將Docker倉庫添加到系統的軟件源列表。

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.huaweicloud.com/docker-ce/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

(5)更新軟件包列表。

sudo apt-get update

(6)安裝並運行Docker。

sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start docker

(7)設置以非 root 用户身份管理 Docker。

#雲主機默認的用户是developer非root用户,需要設置以非 root 用户身份管理 Docker
#創建組docker
sudo groupadd docker
#將您的用户添加到組docker
sudo usermod -aG docker $USER

(8)重啓雲主機。

回到工作台,點擊重啓按鈕,雲主機會自動重啓。

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_07

或者您還可以運行以下命令來激活對組的更改:

newgrp docker

下面的命令是設置 Docker 在系統啓動時自動啓動。

sudo systemctl enable docker

查看docker版本信息。

docker -v

顯示如下類似信息,表示Docker安裝成功。

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_docker_08

Docker到此已經安裝完畢。

接下來通過Docker安裝Kotaemon,命令如下:

docker run \
-e GRADIO_SERVER_NAME=0.0.0.0 \
-e GRADIO_SERVER_PORT=7860 \
-v ./ktem_app_data:/app/ktem_app_data \
-p 7860:7860 -it \
ghcr.nju.edu.cn/cinnamon/kotaemon:main-ollama

正在安裝Kotaemon中:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_docker_09

稍等幾分鐘,下面是安裝依賴的日誌:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_10

繼續等待依賴安裝完成,下面是安裝成功且運行的截圖:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_11

3.2 登錄Kotaemon首頁

我們在火狐瀏覽器中輸入鏈接:<http://localhost:7860>

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_12

默認的Username和Password均為 admin,我們輸入Username和Password,點擊登錄:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_13

登錄成功:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_14

3.3 配置Kotaemon

我們回到開發者空間雲主機中的火狐瀏覽器,在Kotaemon登錄成功的頁面中,首先點擊Resources 按鈕:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_15

點擊LLMs按鈕:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_16

我們在LLMs中先配置DeepSeek-V3模型接口,點擊Add按鈕添加模型供應商:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_17

出現以下界面,縮小頁面,可以看到全部配置信息:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_18

LLM name選項就是需要顯示的模型供應商的模型(自定義),本案例設置為華為雲:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_19

下面繼續設置LLM vendors,我們這裏必須選擇ChatOpenAI:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_20

最後的選項Specification用於配置模型的接口信息:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_docker_21

這裏默認只給出了api_key和model,因為這裏默認是OpenAI來提供模型,所以我們需要手動添加base_url指定模型的接口地址。

注意:這裏添加base_url,不能直接在api_key:null這行最後,通過換行來添加一行,需要按住shift+enter 才能添加新的一行。

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_22

我們將之前得到的Api key、API地址、模型名稱填入選項中:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_23

注意:API地址即為填入的base_url,刪除API地址的chat/completions後綴。

我們已經填好信息,點擊單選框set default,設置其為默認模型,點擊添加模型:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_24

瀏覽器的右上角會出現添加成功的消息:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_25

我們點擊View視圖查看添加的模型,發現已經成功添加華為云為默認的LLMs:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_docker_26

我們點擊華為雲,測試DeepSeek-V3模型是否連接正常:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_docker_27

出現以下類似信息,並且右上角顯示info:LLM 華為雲 connect successfully,説明連接華為雲成功。

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_docker_28

注意,如果出現以下報錯信息,請檢查配置信息:

- Connection failed. Got error: Error code: 400 - {'error_code': 'ModelArts.4905', 'error_msg': 'Failed to check the authorization request header. '}

説明api_key配置錯誤,請檢查api_key是否填寫正確。

- Connection failed. Got error: Error code: 404 - {'detail': 'Not Found'}

説明API地址 base_url 配置錯誤,需要配置正確的地址。

- Connection failed. Got error: Error code: 404 - {'object': 'error', 'message': 'The model `deepseek-V3` does not exist.', 'type': 'NotFoundError', 'param': None, 'code': 404}

説明模型名稱model配置錯誤,需要將名稱配置為:DeepSeek-V3。

最後我們保存配置,瀏覽器右上角會顯示保存成功:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_29

接下來我們配置Embeddings 嵌入式模型:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_30

這裏docker鏡像採用了ollama捆綁包,所以使用容器內ollama提供的嵌入式模型:nomic-embed-text。點擊單選框set default,設置ollama為默認的嵌入式模型,然後測試模型:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_31

點擊Test,出現連接成功,並且右上角出現連接成功的info:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_32

最後保存配置,右上角顯示保存成功:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_33

下面設置其它選項,首先點擊Settings按鈕,然後點擊Retrieval settings:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_docker_34

我們修改1個選項,將LLM for relevant scoring修改為:華為雲 (default)

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_35

然後點擊保存設置:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_36

3.4 使用Kotaemon搭建本地AI知識庫

我們點擊Chat回到首頁:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_37

使用火狐瀏覽器打開鏈接:<https://dtse-mirrors.obs.cn-north-4.myhuaweicloud.com/case/0042/DeepSeek從入門到精通.pdf>,下載pdf文件:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_38

在上傳文件之前,執行以下操作:

(1)查看當前運行的Docker容器

sudo docker ps

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_39

備註:上圖中的09ffa8d24265為Docker容器標識。

(2)執行docker exec -it xxxx /bin/bash,進入指定Docker容器的Bash Shell環境。xxxx要替換成Docker容器標識。

sudo docker exec -it xxxx /bin/bash

(3)安裝lance和pylance。

pip install lance -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pylance -i https://pypi.tuna.tsinghua.edu.cn/simple

(4)安裝成功後,執行exit退出。

exit

(5)執行sudo docker restart xxxx,重啓Docker容器。xxxx要替換成Docker容器標識。

sudo docker restart xxxx

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_40

完成上述操作後,再次回到Kotaemon,點擊Files,上傳下載的 pdf文件:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_41

這裏創建索引的時間是根據文件的大小和嵌入式模型的響應速度決定的,文件過大,創建索引時間可能過長,請稍微等待一會。

注意:等待後可能出現不響應的情況,可刷新頁面後看到文件。

以下是文件創建索引成功:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_42

點擊此文件:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_43

上述文件已經成功加入我們的知識庫了。點擊Chat按鈕,返回首頁,點擊Search In File(s),選擇文件:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_44

我們要設置AI回答的語言為中文,點擊下方紅色方框的小按鈕:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_45

點擊Language下方的按鈕,選擇Chinese:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_46

選擇完成後,我們就可以對這個文件提問了,第一個問題:總結這個文件。

如果一直未響應,可以點擊刪除圖標,刪除對話,刷新頁面後重試。

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_47

以下是成功響應的截圖:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_docker_48

回答的不錯,並且顯示了思維導圖。

注意:如果無法顯示思維導圖,請更新Firefox的版本。點擊瀏覽器右上角圖標,點擊幫助:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_docker_49

關於Firefox:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_50

重啓更新:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_docker_51

更新完成後,可正常顯示思維導圖了。

我們點擊Export按鈕,可以在新窗口查看思維導圖:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_開發者_52

點擊Preview按鈕,可以預覽源文件:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_53

源文件:

【案例共創】基於開發者空間使用Kotaemon開源RAG UI和華為雲Maas搭建本地/私人AI知識庫_Docker_54

至此,我們的AI知識庫的搭建完成了!

3.5 總結與展望

本次使用的Kotaemon的開源框架中關於RAG的一小部分應用,還有許多其他功能,開發者可以參考下面開源地址鏈接進行指導:

Kotaemon項目地址:https://github.com/Cinnamon/kotaemon

華為雲Maas提供的DeepSeek-V3模型響應速度挺快,雖然僅僅是體驗,後續馬上也要開通商用按量服務,應該速度更快!