硬核技術組合!用 DeepSeek R1、Ollama、Docker、RAGFlow 打造專屬本地知識庫

文章目錄

  • 一、引言
  • 二、安裝Ollama+部署DeepSeekR1
  • 三、安裝Docker
  • 四、安裝使用RAGFlow
    • 4.1 系統架構
    • 4.2 部署流程
    • 4.3 使用RAGFlow
    • 4.4 在RAGFlow中新增模型
    • 4.5 創建知識庫
    • 4.6 創建私人助理使用RGA

一、引言

本地部署DeepSeek R1 + Ollama + RAGFlow構建個人知識庫,通過將數據完全存儲在本地硬盤,徹底杜絕隱私泄露風險,規避云端服務不穩定導致的延遲或中斷問題;借助RAGFlow的自定義知識庫能力,可精準解析專業文檔(如法律、醫療資料),突破通用大模型的領域局限,實現高效檢索與智能問答,打造安全、穩定且持續進化的專屬知識中樞。

我們部署DeepSeekR1需要借助Ollama開源大模型平臺,部署RAGFlow需要借助Docker來實現,整體流程:安裝Ollama->部署DeepSeek R1模型->基于Docker部署RAGFlow->配置RAGFlow->知識庫構建->問答測試

二、安裝Ollama+部署DeepSeekR1

親測有效!使用Ollama本地部署DeepSeekR1模型,指定目錄安裝并實現可視化聊天與接口調用:安裝Ollama+部署DeepSeekR1
在完成Ollama與DeepSeek R1的本地部署后(部署流程詳見以上文章),若需通過Docker容器化部署的RAGFlow集成該模型服務,需針對性調整Ollama的網絡配置以打通容器間通信鏈路。Docker默認采用獨立網絡命名空間,容器內服務無法直接訪問宿主機本地環回地址 (127.0.0.1)。當RAGFlow容器嘗試連接宿主機Ollama服務時,需將Ollama的API端點暴露至容器可達的網絡接口。
具體操作方法:
編輯系統環境變量->高級->環境變量->新建用戶變量->變量名(OLLAMA_HOST) 變量值(:11434)->重啟電腦
h環境變量

三、安裝Docker

Docker官網:Docker
進入官網后選擇Download for Windows -AMD64進行安裝
安裝Docker
在Windows系統上部署Docker(支持 Windows 10/11 專業版/企業版/教育版,家庭版需通過WSL2間接支持)
安裝完畢Docker后選擇Use advanced settings 使用高級設置,選擇Update to the latest version of WSL 2 from Microsoft(Recommended - requires administrator passwod)從Microsoft更新到最新版本的WSL 2,點擊Finish完成
配置Docker
如果安裝成功后顯示報錯Docker Engine stopped...說明缺少wsl,此時會自動彈框提示我們安裝適用于Linux的Windows子系統,安裝一下就ok了。如果沒有自動彈框,我們需要到Windows PoweShell中執行wsl --update命令來進行安裝。

如果安裝完wsl依舊報錯,這個時候我們需要檢查下報錯內容看看是否打開了虛擬機,如果沒有打開的話我們需要啟用虛擬機平臺,然后在BLOS中啟用虛擬化,這個大家可以自行去網上來查相應的解決方案,這里也不在過多敘述了。

安裝完成后我們需要配置一下Docker的鏡像源來提高國內的下載速度 https://docker.1ms.run,這個鏡像源可能會失效,如果大家有更好更快的鏡像源可以自行配置
配置Docker鏡像源

四、安裝使用RAGFlow

RAGFlow開源代碼:RAGFlow Github地址
RAGFlow 是一款基于 檢索增強生成(Retrieval-Augmented Generation, RAG) 技術的開源框架,專注于構建企業級智能知識庫與問答系統。它通過結合大語言模型(LLM)與結構化文檔處理能力,實現從海量非結構化數據(如PDF、Word、掃描件等)中精準提取信息并生成專業回答,是當前私有化知識管理的先進工具。

4.1 系統架構

RAGFlow系統架構

圖中組件功能解釋
File用戶上傳的原始文件(如 PDF、Word、掃描件等),是系統的輸入源。
Document Parser文檔解析引擎,負責文件格式解析、OCR 識別、版式分析與結構化分塊。
Documents解析后的結構化文檔數據(分塊文本、表格、圖像等),存儲于向量數據庫中。
Task Dispatch任務調度器,管理文檔處理、檢索、生成等任務的隊列與資源分配。
Tasks具體任務實例(如解析任務、檢索任務、生成任務),由調度器分發執行。
Questions用戶輸入的自然語言問題,觸發檢索與生成流程。
LMs大語言模型(如 DeepSeek R1),負責根據檢索結果生成最終答案。
Answer系統輸出的結構化回答,結合檢索內容與模型生成能力。

流程圖

拆分解析任務
調用模型任務
用戶上傳文件 File
Document Parser 文檔解析
Task Dispatch 任務調度
Tasks 解析子任務
生成結構化數據 Documents
向量數據庫存儲
用戶提問 Questions
檢索增強模塊
Task Dispatch 任務調度
Tasks 生成子任務
LMs 大語言模型
生成最終答案 Answer

異步任務處理

并行分發
并行分發
TaskDispatch
解析任務
生成任務
OCR處理
表格提取
檢索上下文
模型推理

4.2 部署流程

前提條件
CPU >= 4 核
RAM >= 16 GB
Disk >= 50 GB
Docker >= 24.0.0 & Docker Compose >= v2.26.1

運行以下命令會自動下載 RAGFlow slim Docker 鏡像 v0.16.0-slim。請參考下表查看不同 Docker 發行版的描述。如需下載不同于 v0.16.0-slim 的 Docker 鏡像,請在運行 docker compose 啟動服務之前先更新 docker/.env 文件內的 RAGFLOW_IMAGE 變量。比如,你可以通過設置 RAGFLOW_IMAGE=infiniflow/ragflow:v0.16.0 來下載 RAGFlow 鏡像的 v0.16.0完整發行版。

$ cd ragflow-main
$ docker compose -f docker/docker-compose.yml up -d

Docker發行版描述
如果需要修改不同的發行版,可以進入到ragflow-main的docker文件夾中,然后修改.env文件
目錄
默認的發行版是RAGFLOW_IMAGE=infiniflow/ragflow:v0.16.0,這個是精簡版,僅包含核心運行依賴,如果我們想使用標準版的話可以把它注釋掉,然后打開RAGFLOW_IMAGE=infiniflow/ragflow:v0.16.0 標準版的注釋,標準版包含核心依賴以及開發調試工具
修改發行版
此時我們需要切換到ragflow-main目錄,然后運行docker compose -f docker/docker-compose.yml up -d來安裝Docker鏡像,我們可能會在安裝的過程中安裝失敗或者安裝速度緩慢,此時我們需要配置Docker的鏡像源,下面是RAGFlow提供的一些鏡像源可供參考:(可能需要借助魔法,魔法需要大家自行解決)

  • 華為云鏡像名:swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow
  • 阿里云鏡像名:registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow

使用Docker安裝

4.3 使用RAGFlow

RAGFlow安裝完成后,默認端口是80,此時我們訪問localhost如果能訪問到登錄頁面就證明部署成功了,此時我們需要注冊一個賬號來進行登錄
RAGFlow登錄頁面
進入到首頁就是這個樣子,此時我們需要添加并配置Ollama模型到RAGFlow中
RAGFlow首頁

4.4 在RAGFlow中新增模型

第一步點擊頭像
第一步
第二步新增Ollama模型
選擇模型提供商,然后選擇添加Ollama模型,隨后模型類型選擇chat,模型名稱就是你本地部署的DeepSeek的模型名稱,我這里本地部署的是deepseek-r1:1.5b,如果不知道模型名稱是什么的可以去DOS窗口去執行ollama list命令來進行查詢,基礎URL的話我們這個需要寫http://host:port,host獲取方式需要通過DOS窗口執行ipconfig命令去查詢,端口號默認是11434,最大token數這里大家隨意設置,token數取決于大模型輸出內容的長度。最后點擊確定。
新增LLM模型
查詢本機ip地址
在查詢ip地址
查詢本地部署模型名稱
查詢模型名稱
第三步:隨后我們需要去配置系統模型,這里我們聊天模型選擇deepseek-r1
系統模型設置

4.5 創建知識庫

新增知識庫
這里我們需要對自己的知識庫新增文件后然后解析我們上傳的知識庫
創建知識庫文件
知識庫解析成功

4.6 創建私人助理使用RGA

這里我們需要設置助理的名稱以及配置剛剛我們創建的知識庫
新建助理

提示引擎
模型設置
我們這里可以看出它引用了我剛剛上傳的知識庫
進行對話

如果大家在部署的任何環節中出現問題的話可以在評論區中留言,或者可以添加下方的名片來咨詢遇到的問題!感謝大家閱讀,謝謝!!!

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

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

相關文章

前端實現OSS上傳圖片(Vue3+vant)

首先,下面這些信息從阿里云服務器OSS管理中獲取 aliyun:oss:file:endpoint: "oss-cn-beijing.aliyuncs.com"keyid: "xxxxxxxxx"keysecret: "xxxxxxxxxxxx"bucketname: "xxxx"一、安裝OSS npm install ali-oss 二、以下步…

huggingface NLP主要知識點以及超級詳解使用

1.安裝huggingface依賴庫 pip install transformers pip install datasets pip install pytorch pip install tokenizers pip install diffusers pip install accelerate pip install evaluate pip install optimum pip install pillow pip install requests pip install gr…

Spark核心之02:常用算子詳解

1、RDD操作詳解 # 啟動spark-shell spark-shell --master local[2] 1.1 基本轉換 1) map map是對RDD中的每個元素都執行一個指定的函數來產生一個新的RDD。 任何原RDD中的元素在新RDD中都有且只有一個元素與之對應。 舉例: scala> val a sc.parallelize(1 …

MySQL 8.X 報錯處理

1.重新加載配置 reload the configuration mysql> ALTER INSTANCE RELOAD KEYRING; ERROR 1227 (42000): Access denied; you need (at least one of) the ENCRYPTION_KEY_ADMIN privilege(s) for this operation 提示需要ENCRYPTION_KEY_ADMIN權限 重新授權 GRANT ENCR…

SQL注入練習場:PHPStudy+SQLI-LABS靶場搭建教程(零基礎友好版)

注意:文中涉及演示均為模擬測試,切勿用于真實環境,任何未授權測試都是違法行為! 一、環境準備 下載PHPStudy 官網下載地址:https://www.xp.cn/php-study(選擇Windows版) 安裝時建議選擇自定…

現今大語言模型性能(準確率)比較

現今大語言模型性能(準確率)比較 表頭信息:表的標題為“大語言模型性能比較結果”(英文:Table 1: Large Language Model Performance Comparison Results),表明該表是用于對比不同大語言模型的性能。列信息: 模型:列出參與比較的不同大語言模型名稱,包括LLAMA3(70B)…

Docker創建自定義網橋并指定網段

前言 docker0是Docker默認網絡的核心組件, 通過虛擬網橋和NAT技術, 實現了容器間的通信以及容器與外部網絡的交互。然而, docker0網段是固定的(通常是172.17.0.0/16), 為了更靈活地管理容器網絡,Docker支持創建自定義網橋,允許用戶指定網段。 例如, 在…

【向量數據庫Weaviate】 和Elasticsearch的區別

Weaviate 和 Elasticsearch 是兩種不同類型的數據庫,設計目標和應用場景有顯著差異。以下是它們的核心區別和適用場景的詳細對比: 1. 設計目標與核心能力 維度WeaviateElasticsearch核心能力向量數據庫 圖數據庫(語義搜索優先)全…

藍橋杯每日一題:第一周周四哞叫時間

藍橋杯每日一題:第一周周四哞叫時間 疑惑:如何把復雜度控制在Q(n),怎么枚舉a和b,longlong的形式又該怎么輸入(考慮用string) 思路:枚舉倒數第二個b前面有多少個a 這是一…

在 macOS 使用 .pem 私鑰免密登錄騰訊云服務器

前言 在騰訊云上創建服務器時,如果選擇了「密鑰對」的登錄方式,就會得到一個 .pem 文件作為私鑰。很多小伙伴在使用 macOS 系統時,可能不清楚如何使用這個私鑰文件來 SSH 免密登錄遠程服務器。本文將詳細介紹如何在本地配置 .pem 私鑰文件并…

AI學習筆記:LM studio大模型加載參數說明

LM Studio加載大模型時參數設置頁面的常見參數及設置方法如下: 上下文長度(Context Length) 意義:表示模型可以處理的最大上下文長度,即模型一次能夠考慮的輸入文本的最大token數量。較大的上下文長度能讓模型更好地…

Spring項目中常用操作記錄

List 基礎操作 創建 // 使用 ArrayList&#xff08;基于動態數組&#xff0c;適合隨機訪問&#xff09; List<String> arrayList new ArrayList<>();// 使用 LinkedList&#xff08;基于鏈表&#xff0c;適合頻繁插入/刪除&#xff09; List<Integer> li…

騰訊 TDF 即將開源 Kuikly 跨端框架,Kotlin 支持全平臺

今天&#xff0c;在騰訊的 Shiply 平臺看 Flutter 動態化自研框架 Conch 時&#xff0c;在側邊欄看到了有「跨端開發框架」的介紹&#xff0c;點開發現有兩個產品&#xff1a; Hippy&#xff1a;面向前端技術棧的跨端開發框架&#xff0c;Web原生開發體驗&#xff0c;支持 Rea…

SQL AND OR 操作符詳解

SQL AND & OR 操作符詳解 在SQL(結構化查詢語言)中,AND 和 OR 是兩種非常重要的邏輯操作符,它們用于在查詢條件中組合多個條件。理解并正確使用這些操作符對于編寫有效的SQL查詢至關重要。 引言 在處理數據庫查詢時,我們常常需要根據多個條件來篩選數據。AND 和 OR…

nginx accesslog 打印自定義header

比如我在請求的header中添加了一個path-match-type&#xff0c;那我現在nginx的accesslog 中打印出來&#xff0c;應該如何配置呢&#xff1f; rootnginx-59f5d66df6-jw5k8:/# cat /etc/nginx/nginx.conf user nginx; worker_processes auto;error_log /var/log/nginx/erro…

響應式布局的設計規范

響應式設計&#xff08;Responsive Design&#xff09; 是一種 web 設計技術&#xff0c;旨在使網頁在不同的設備和屏幕尺寸上都有良好的顯示效果。響應式設計的核心思想是網頁的布局能夠根據設備的屏幕寬度、分辨率以及其他特性自動調整&#xff0c;使其適應桌面、平板和手機等…

說一下redis事務底層原理

Redis事務 1. 事務的基本流程 Redis 事務通過 MULTI、EXEC、WATCH 等命令實現&#xff0c;底層原理可以分為以下幾個步驟&#xff1a; (1) MULTI 命令 當客戶端發送 MULTI 命令時&#xff0c;Redis 會將客戶端標記為“事務模式”。在事務模式下&#xff0c;客戶端發送的所有…

【我的Android進階之旅】如何使用NanoHttpd在Android端快速部署一個HTTP服務器?

文章目錄 開篇:程序員的"摸魚神器"?一、為什么選擇NanoHttpd?二、五分鐘極速上車指南2.1 ? 第一步:引入依賴的哲學2.2 ? 第二步:創建服務器類:繼承大法好2.3 ? 第三步:啟動服務的儀式感三、高級玩法:讓服務器不再單調3.1 ?? 場景1:變身文件服務器3.2 ?…

播放器系列3——解碼

FFmpeg解碼過程詳解 解碼流程 #mermaid-svg-FGu92IEtteOdO2tO {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-FGu92IEtteOdO2tO .error-icon{fill:#552222;}#mermaid-svg-FGu92IEtteOdO2tO .error-text{fill:#5522…

SimPO算法-Simple Preference Optimizationwith a Reference-Free Reward

偏好優化&#xff08;preference optimization &#xff09;算法大全&#xff1a; 本篇介紹下SimPO SimPO&#xff08;Simple Preference Optimization&#xff09;的設計核心在于簡化偏好優化過程&#xff0c;同時提升模型的表現。其設計主要圍繞兩個關鍵點展開&#xff1a;長…