Deepseek + RAGFlow 搭建本地知識庫問答系統
- 原因
- 為什么要本地部署
- RAG模型和微調模型區別
- 本地部署流程
- 1. 下載 `ollama` ,通過`ollama`把`Deepseek`模型下載到本地運行。
- 2. 下載`RAGFlow` 源代碼和 `Docker` ,通過`Docker`部署`RAGFlow`。
- 3. 在`RAGFlow`中構建個人知識庫并基于個人知識庫的對話問答。
技術 ollama + docker + RAGFlow
原因
1.為什么要本地部署,不直接使用現有的DeepSeek?
2.為什么要使用RAG
技術?RAG
和模型微調的區別?
3.本地部署全流程
為什么要本地部署
本地部署優點
- 保證數據隱私,聯網大模型會把數據傳輸到官方服務器。
- 可以解除文件大小限制,使用知識庫,網頁版上傳一般對文件大小是有限制的
- 網頁上傳如果針對很多文件的話,每次都要上傳,下載,修改,刪除,操作很麻煩
所以采用 本地部署Deepseek
+ 知識庫(個性化知識庫,操作處理)
個性化知識庫 一般采用 RAG
(Retrieval-Augmented Generation
,檢索增強生成),使用開源框架 RAGFlow
。
RAG模型和微調模型區別
一般情況下當大模型不了解你的知識的時候就開始出現“幻覺”問題。微調是在原有模型的基礎上,結合特定任務的數據集進一步對其進行訓練,使模型在這領域表現更好。(類似與考前復習,模型通過對應的訓練消化好知識,然后對這一領域相關內容進行回復)。
RAG
主要分檢索(Retrieval
)、增強(Augmented
)、生成(Generation
)三步。
- 檢索:用戶提出問題后,從外部知識庫中檢索出與用戶問題相關的
- 增強:系統將檢索到的信息和用戶輸入相結合,擴展模型的上下文。讓生成模型可以利用外部知識,使生成的答案更準確和豐富。
- 生成:生成模型基于增強后的輸入生成最終答案。結合用戶輸入和檢索到的信息,生成符合邏輯、準確和可讀的文本內容。
本地部署流程
1. 下載 ollama
,通過ollama
把Deepseek
模型下載到本地運行。
ollama是一個本地運行和管理大語言模型(LLM)的工具。
官網下載地址
安裝后查看是否安裝成功
在cmd
或者終端中執行:
ollama -v
輸出版本即為正常安裝:
如果虛擬機要訪問本地的ollama
需要配置環境變量
OLLAMA_HOST=0.0.0.0:11434
查看配置結果
set ollama
正常輸入如下
OLLAMA_HOST=0.0.0.0:11434
瀏覽器訪問驗證:
http://127.0.0.1:11434/
下載并運行deepseek-r1:7b
(當然可以根據自己的電腦的配置使用不同的模型)
ollama run deepseek-r1:7b
可能要幾分鐘時間, 出現下面界面即為啟動成功
可以輸入問題提問下
2. 下載RAGFlow
源代碼和 Docker
,通過Docker
部署RAGFlow
。
前提需要有Docker
進行安裝和部署(這里不做介紹了),也需要docker compose
,直接安裝最新版本即可
github上官網中文地址
下載ragflow
源碼
git clone https://github.com/infiniflow/ragflow.git
下載完成之后找到這個文件,因為我們使用的是完整的模型,有的配置需要改一下
文件位置ragflow\docker\.env
說明: v0.20.0
是版本號,可能會隨著RAGFlow
迭代發生變化,
帶slim的是精簡的模型需要配置外部向量化,這里直接使用完整的模型,方便簡化配置
進入到docker路徑下啟動
cd ragflow\docker
docker compose up -d
這個過程會下載鏡像和模型可能需要一段時間,啟動完成之后
瀏覽器訪問
http://localhost
先注冊后登錄
3. 在RAGFlow
中構建個人知識庫并基于個人知識庫的對話問答。
進行綁定知識庫和模型
進行本地模型創建
類型: chat
模型名稱: deepseek-r1:7b
就是 ollama
本地運行的,可以通過 ollama list
查看
基礎Url http://127.0.0.1:11434
但是我是docker
容器訪問本地,配置的是 http://host.docker.internal:11434
最大token
數 這個可以自己配置
如果是服務器上的模型配置他們對應的 api key
和地址即可
上傳并解析文件
創建助理
嘗試使用