Deepseek + RAGFlow 搭建本地知識庫問答系統

Deepseek + RAGFlow 搭建本地知識庫問答系統

  • 原因
    • 為什么要本地部署
    • RAG模型和微調模型區別
    • 本地部署流程
      • 1. 下載 `ollama` ,通過`ollama`把`Deepseek`模型下載到本地運行。
      • 2. 下載`RAGFlow` 源代碼和 `Docker` ,通過`Docker`部署`RAGFlow`。
      • 3. 在`RAGFlow`中構建個人知識庫并基于個人知識庫的對話問答。

技術 ollama + docker + RAGFlow

原因

1.為什么要本地部署,不直接使用現有的DeepSeek?

2.為什么要使用RAG技術?RAG和模型微調的區別?

3.本地部署全流程

為什么要本地部署

本地部署優點

  1. 保證數據隱私,聯網大模型會把數據傳輸到官方服務器。
  2. 可以解除文件大小限制,使用知識庫,網頁版上傳一般對文件大小是有限制的
  3. 網頁上傳如果針對很多文件的話,每次都要上傳,下載,修改,刪除,操作很麻煩

所以采用 本地部署Deepseek + 知識庫(個性化知識庫,操作處理)

個性化知識庫 一般采用 RAGRetrieval-Augmented Generation,檢索增強生成),使用開源框架 RAGFlow

RAG模型和微調模型區別

一般情況下當大模型不了解你的知識的時候就開始出現“幻覺”問題。微調是在原有模型的基礎上,結合特定任務的數據集進一步對其進行訓練,使模型在這領域表現更好。(類似與考前復習,模型通過對應的訓練消化好知識,然后對這一領域相關內容進行回復)。
RAG主要分檢索(Retrieval)、增強(Augmented)、生成(Generation)三步。

  • 檢索:用戶提出問題后,從外部知識庫中檢索出與用戶問題相關的
  • 增強:系統將檢索到的信息和用戶輸入相結合,擴展模型的上下文。讓生成模型可以利用外部知識,使生成的答案更準確和豐富。
  • 生成:生成模型基于增強后的輸入生成最終答案。結合用戶輸入和檢索到的信息,生成符合邏輯、準確和可讀的文本內容。

本地部署流程

1. 下載 ollama ,通過ollamaDeepseek模型下載到本地運行。

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 和地址即可

在這里插入圖片描述

上傳并解析文件
在這里插入圖片描述

創建助理
在這里插入圖片描述

嘗試使用

在這里插入圖片描述

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

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

相關文章

elementui附件上傳自定義文件列表,實現傳完即可預覽、下載、刪除,二次封裝el-upload

背景當前 elementui 的文件上傳組件在上傳完文件之后只支持刪除,用戶希望可以看到附件信息,還可以預覽自己剛剛上傳但未提交的文件,還希望可以下載,因為公司的下載功能當前是通過 OnlyOffice 實現了文件格式轉換,所以我…

linux的conda配置與應用階段的簡單指令備注

1.新建某虛擬環境 conda create -n 虛擬環境名 pythonPython版本號 (-y)2.退出當前虛擬環境 conda deactivate3.查看當前conda環境下所有的虛擬環境 conda info --envs4.查看conda版本和位置 conda --versionwhich conda5.激活某個conda虛擬環境 conda activate 虛擬環境名

虛擬化技術 ——KVM

一、KVM 技術簡介 KVM(Kernel-based Virtual Machine,基于內核的虛擬機)是 Linux 內核原生支持的全虛擬化解決方案,依托 CPU 的硬件虛擬化技術(Intel VT-x/AMD-V)實現高效的虛擬機運行。它將 Linux 內核轉…

線程間Bug檢測工具Canary

Canary1.Introduction2.Approach2.1.數據依賴分析2.2.線程間依賴分析3.Bug檢測4.Evaluation參考文獻1.Introduction 主要做跨線程value-flow bug檢查,下面代碼中兩個函數中存在指向關系:1. x→o1x \rightarrow o_1x→o1?, b→o2b \rightarrow o_2b→o2…

AEB 強制來臨,東軟睿馳Next-Cube-Lite有望成為汽車安全普惠“破局器”

AEB 強制時代正在悄然譜寫“普惠安全”的行業底色。日前,備受關注的強制性國家標準《輕型汽車自動緊急制動系統技術要求及試驗方法》(以下簡稱“新國標”)意見征求階段已經結束。該標準將替代現行國標GB/T 39901-2021,計劃于2028年…

css的white-space: pre

用戶從別的地方復制的配置文件,粘貼到輸入框內,需要保留原始格式發送給后端。核心步驟:### 1. 格式保持機制 - white-space: pre :這是最關鍵的CSS屬性,確保所有空格、制表符、換行符都被保留 - wrap"off" &…

【AI解讀源碼系列】ant design mobile——Space間距

前言 筆者目前業務主要圍繞ant design mobile組件庫來交付H5前端工作。 故此出此專欄來解讀每一個組件是如何實現的。 本文基于AI來解讀Space組件。 文檔鏈接: https://mobile.ant.design/zh/components/space 源碼: https://github.com/ant-design/ant-…

《用餐》,午餐食堂即景小詩分享(手機/小視頻/光盤/養生)

大媽食堂碎碎念,怪罪手機延工期。 筆記模板由python腳本于2025-08-21 19:34:46創建,本篇筆記適合喜歡友善生活和詩的coder翻閱。 學習的細節是歡悅的歷程 博客的核心價值:在于輸出思考與經驗,而不僅僅是知識的簡單復述。 Python官…

高通平臺WIFI學習-- 基于WCN6750 Tri-Band 2x2 MIMO 802.11ax的講解

一 前言: 官方資料顯示WLAN支持如下的Key features ■ Compliant with IEEE 802.11a/b/g/n/ac/ax ■ Supports 2x2 multi-user multiple-input multiple-output (MU-MIMO) ■ Up to 2.9 Gbps data rate (2x2 160 MHz) ■ Tri-band 2.4 GHz/5 GHz/6 GHz support ■ 20 MHz…

javaweb開發筆記——XML_Tomcat10_HTTP

第四章 XML_Tomcat10_HTTP 一 XML XML是EXtensible Markup Language的縮寫,翻譯過來就是可擴展標記語言。所以很明顯,XML和HTML一樣都是標記語言,也就是說它們的基本語法都是標簽。 可擴展 三個字表面上的意思是XML允許自定義格式。但這不代…

Python從入門到自動化運維

文章目錄IPO編程方式、print、input函數print() -- 輸出信息到屏幕input() -- 讀取用戶的輸入基本數據類型int、float、bool、str常用 str 操作方法格式化字符串的三種方式數據驗證方法字符串拼接字符串去重數據類型轉換函數容器類型列表(list):可變、可重復、有序元…

【數據可視化-98】2025年上半年地方財政收入Top 20城市可視化分析:Python + Pyecharts打造炫酷暗黑主題大屏

🧑 博主簡介:曾任某智慧城市類企業算法總監,目前在美國市場的物流公司從事高級算法工程師一職,深耕人工智能領域,精通python數據挖掘、可視化、機器學習等,發表過AI相關的專利并多次在AI類比賽中獲獎。CSDN…

【基礎-單選】向服務器提交表單數據,以下哪種請求方式比較合適

向服務器提交表單數據,以下哪種請求方式比較合適A.RequestMethod.GET B.RequestMethod.PUT C.RequestMethod.POST D.RequestMethod.DELETE 解釋如下: 在HarmonyOS應用開發中,向服務器提交表單數據,C. RequestMethod.POST 是比較合…

論文閱讀:Code as Policies: Language Model Programs for Embodied Control

地址:Code as Policies: Language Model Programs for Embodied Control 摘要 針對代碼補全任務訓練的大型語言模型(LLMs)已被證實能夠從文檔字符串(docstrings)中合成簡單的 Python 程序。研究發現,這些…

Vue 3 customRef 完全指南:自定義響應式引用的終極教程

📖 概述 customRef() 是 Vue 3 中用于創建自定義響應式引用的組合式 API。它允許開發者完全控制響應式數據的讀取和寫入行為,為復雜的響應式邏輯提供了強大的靈活性。 🎯 基本概念 什么是 customRef? customRef() 是一個工廠函數…

Java項目-蒼穹外賣_Day1

項目來源: 【黑馬程序員 Java項目實戰《蒼穹外賣》】 [https://www.bilibili.com/video/BV1TP411v7v6] ZZHow(ZZHow1024) 軟件開發整體介紹 軟件開發流程 需求分析:需求規格說明書、產品原型。設計:UI 設計、數據庫設計、接口設計。編碼…

面試可能問到的問題思考-MySQL

MySQL 1. 數據庫與緩存的一致性 引入緩存,因為緩存只是數據庫數據的副本,那么就可能存在副本和原數據不一致的情況 一致性 ACID里面的C,和CAP中的C不是一個概念,雖然都叫一致性。CAP中的C,指的是多個副本之間邏輯上…

【Java】 Spring Security 賦能 OAuth 2.0:構建安全高效的現代認證體系

還在為高昂的AI開發成本發愁?這本書教你如何在個人電腦上引爆DeepSeek的澎湃算力! 在當今數字化時代,認證與授權已成為應用系統安全的核心。OAuth 2.0 作為一種開放標準協議,廣泛應用于第三方授權場景中,而 Spring Security 則提供了強大的框架支持來實現這一協議。本文深…

實際工作幾月后常用相關命令筆記記錄

目前,我這只工程師幼崽經歷幾個月的工作,不能說是收獲很多,也算是成長經驗1吧。主要工作后才知道好多東西都是自己不會的不了解的,但是工作需要不一定自己完全吃透,在合適的地方正確的使用一般情況就ok了,所…

突破傳統文本切片的瓶頸:AntSK-FileChunk語義切片技術詳解前言:為什么我們需要重新思考文本切片?

在當今大語言模型(LLM)應用蓬勃發展的時代,我們面臨著一個看似簡單卻至關重要的問題:如何有效地處理長文本?無論是構建知識庫、實現RAG(檢索增強生成)系統,還是進行文檔智能分析&…