小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

DeepSeek dify 本地知識庫:真的太香了

 芥子c1yw3tb42g 2025-02-18 發(fā)布于陜西

群友一直希望我做一個dify的教程,我把去年的dify鏟了,重新安裝了一遍。 同時基于以前的文章提問,以及群友的問題,我先做一個知識科普,不感興趣的可以繞過這塊。

國產(chǎn)AI之光!DeepSeek本地部署教程,效果媲美GPT-4

服務器繁忙,電腦配置太低,別急deepseek滿血版來了

DeepSeek+本地知識庫:真的太香了(修訂版)

DeepSeek+本地知識庫:真太香了(企業(yè)方案)

本地DeepSeek下載慢,中斷、內(nèi)網(wǎng)無法安裝方案來了

最輕量級的deepseek應用,支持聯(lián)網(wǎng)或知識庫

deepseek一鍵生成小紅書爆款內(nèi)容,排版下載全自動!睡后收入不是夢

知識科普 

關于模型

大語言模型(LLM)是通過深度學習技術,基于海量歷史文本數(shù)據(jù)訓練出的概率生成系統(tǒng)。


能力邊界

  • 知識時效性:模型知識截止于訓練數(shù)據(jù)時間點
  • 推理局限性:本質是概率預測而非邏輯運算,復雜數(shù)學推理易出錯(deepseek的架構有所不同)
  • 專業(yè)領域盲區(qū):缺乏垂直領域知識
  • 幻覺現(xiàn)象:可能生成看似合理但實際錯誤的內(nèi)容

更新機制

  • 全量重訓練:需重新處理TB級數(shù)據(jù),消耗數(shù)千GPU小時(這個我們直接排除)
  • 微調(Fine-tuning):用領域數(shù)據(jù)調整模型參數(shù),成本仍較高(這個也需要一定的成本)
  • 上下文學習:通過提示詞臨時注入知識,但受限于上下文長度(這個我們通過外掛知識庫實現(xiàn))

綜上,我們能做的更新機制就是給它通過提示詞上下文臨時注入知識。

關于知識庫

維度廣義知識庫模型知識庫
數(shù)據(jù)來源
外部結構化/非結構化數(shù)據(jù)(文檔、數(shù)據(jù)庫等)
預訓練模型內(nèi)嵌的知識(如GPT的訓練數(shù)據(jù))
更新方式
手動或API動態(tài)更新(如企業(yè)知識庫)
依賴模型重訓練或微調
知識范圍
垂直領域或特定業(yè)務場景(如產(chǎn)品手冊)
通用知識(訓練數(shù)據(jù)截止時間前的信息)

我們之前說的知識庫都是廣義知識庫。

關于模型哪里我們說了,我們可以通過提示詞臨時注入知識,給大模型,但是大模型的上下文是有長度限制的,我們通過各種技術把最合適的內(nèi)容挑選出來,然后給大模型。

關于嵌入模型

嵌入模型是一種將高維離散數(shù)據(jù)(文本、圖像等)轉換為低維連續(xù)向量的技術,這種轉換讓機器能更好地理解和處理復雜數(shù)據(jù)。

舉一個例子來理解向量,你正在玩一個叫做'猜詞'的游戲。你的目標是描述一個詞,而你的朋友們要根據(jù)你的描述猜出這個詞。你不能直接說出這個詞,而是要用其他相關的詞來描述它。例如,你可以用'熱'、'喝'、'早餐'來描述'咖啡'。嵌入模型就是將一個詞轉化為其他相關詞的專用模型。

'熱'、'喝'、'早餐' 可以理解為向量。不過向量值是在向量空間的特定位置,在這個空間里語義相近的詞會自動聚集起來。所以就有了相似度的概念,相似度越高,越匹配。

我們使用的bge-m3 只能向量化出1024維。

 ollama show bge-m3:latest
    architecture        bert
    parameters          566.70M
    context length      8192
    embedding length    1024
    quantization        F16

為什么沒有匹配到知識

圖片知識預處理


1, 上傳文檔

2,將文檔分割成適當大小的文本塊

3,使用embedding模型將每個文本段轉換為向量

4,將向量和原文存儲到向量數(shù)據(jù)庫中

查詢處理階段

1,將用戶輸入問題轉換為向量

2, 在向量庫中檢索相似內(nèi)容

3, 將檢索到的相關內(nèi)容作為上下文提供給LLM

我們用的本地應用工具,一般都是粗粒度分段,向量化的質量沒法保證。

本地知識庫安全嗎?

根據(jù)上一步,我們可以知道本地知識庫+本地大模型是安全的。

本地知識庫+遠端api的大模型,會把片段上傳。

dify安裝 

前提條件

假設你已經(jīng)安裝了docker,docker安裝不同的架構安裝方式不一樣,這里就不做教程了。 已經(jīng)登錄了docker

安裝完docker以后,記得調整docker鏡像的存儲地址。

  • 已經(jīng)安裝了docker,并且登錄了
  • 已經(jīng)安裝了git win上docker安裝地址: https://docs./desktop/setup/install/windows-install/#wsl-2-backend

安裝

下載dify

通過官網(wǎng)下載,如果你沒有魔法,可以從網(wǎng)盤里那對應的

# 進入要下載的目錄,打卡命令提示行工具,cmd或者powershell
cd E:\ai\code
#下載
git clone https://github.com/langgenius/dify.git
# 國內(nèi)鏡像站
https:///dify_ai/dify
 

如果沒有git環(huán)境,可以直接從網(wǎng)盤下載壓縮包。

我們下載以后,只關注docker文件夾和README_CN.md即可。

清理(非必須)

由于我的dify安裝的比較早,是0.7.x版本,為了給大家演示,就把原來的鏟了。如果你以前安裝過dify,使用以下命令清理歷史鏡像

cd docker 進入目錄
# 清理歷史鏡像
docker-compose down -v --rmi all

創(chuàng)建配置

我們進入dify目錄下的docker目錄中,比如我的 E:\ai\code\dify\docker

# 以示例創(chuàng)建一個.env的文件,執(zhí)行下面命令
cp .\.env.example .env

修改dify綁定ip

API 服務綁定地址,默認:0.0.0.0,即所有地址均可訪問。 剛開始我以為是控制dify對外暴露的服務的,改成了127.0.0.1,然后出現(xiàn)以下的502,折騰了我快3個小時。圖片

修改端口(非必須)

默認占用的是80和443端口,如果你本機已經(jīng)部署了其他的應用,占了該端口,修改.env文件中的下面兩個變量

EXPOSE_NGINX_PORT=8001
EXPOSE_NGINX_SSL_PORT=8443

上傳文件大小

默認上傳圖片大小是10MB,上傳視頻大小是100MB,文件默認是50MB,如果有需要修改下面對應的參數(shù)

# Upload image file size limit, default 10M.
UPLOAD_IMAGE_FILE_SIZE_LIMIT=10
# Upload video file size limit, default 100M.
UPLOAD_VIDEO_FILE_SIZE_LIMIT=100
# Upload audio file size limit, default 50M.
UPLOAD_AUDIO_FILE_SIZE_LIMIT=50

啟動dify

docker compose up -d

啟動以后在docker Desktop中查看,圖片圖片

設置管理員與登錄

http://127.0.0.1:8001/install

填寫相關信息,設置管理員賬戶。

圖片設置成功以后,登錄

圖片

設置模型

圖片1,點擊右上角的賬戶 2,點擊設置

本地模型設置

圖片1, 點擊模型供應商 2,下拉找到ollama 3,點擊添加模型

添加對話模型圖片按照步驟添加模型即可,注意模型上下文長度,可以通過ollama show 模型名稱查看,如果你經(jīng)常用大文本,就直接調到最大值。需要注意的是dify,上傳文件是有大小限制的。

關于ip圖片我使用的是本地docker虛擬網(wǎng)絡,如果你ollama設置了OLLAMA_HOST為0.0.0.0 需要注意網(wǎng)絡安全,防止外網(wǎng)有人能訪問。我是將我的ollama綁定到了局域網(wǎng)ip上了。

添加向量模型

圖片1,注意選擇text embedding

系統(tǒng)模型設置

圖片1,點擊系統(tǒng)模型設置

2,選擇已經(jīng)配置的模型,當然建立知識庫的時候,也可以切換

3,選擇向量模型

4,保存

在線api模型配置

騰訊模型配置(免費到2月25日)

圖片沒找到對應的模型供應商,直接選擇openai兼容的模型供應商。

圖片按步驟填寫即可。

2,模型名稱選擇deepseek-r1

3,api key 填寫自己的即可

4,填寫地址:https://api.lkeap.cloud.tencent.com/v1

硅基流動添加

圖片找到模型供應商,點擊設置,配置下密鑰就可以了。圖片

模型供應商

配置好以后,我們可以在模型列表那里看到所有的模型圖片

最終系統(tǒng)模型設置

圖片

知識庫設置

創(chuàng)建知識庫

圖片
圖片
圖片

分段

dify的分段有個好處,設置分段以后,可以實時預覽,可以根據(jù)預覽效果,自己實時調整分段策略。dify建議首次創(chuàng)建知識庫使用父子分段模式。

通用分段(原自動分段與清洗)

關鍵點:

1,默認\n作為分段標識

2,最大分段長度為4000tokens,默認為500tokens

3,分段重疊長度,默認為50tokens,用于分段時,段與段之間存在一定的重疊部分。建議設置為分段長度 Tokens 數(shù)的 10-25%;

4,文本預處理規(guī)則:用于移除冗余符號、URL等噪聲

5,這里還有一個點,向量模型會自動按段落或語義進行切分,也就是大家分段以后內(nèi)容缺失的根因。

適用于內(nèi)容簡單、結構清晰的文檔(如FAQ列表)

圖片
圖片

父子分段

父子模式采用雙層分段結構來平衡檢索的精確度和上下文信息,讓精準匹配與全面的上下文信息二者兼得。

關鍵點

1,父區(qū)塊(Parent-chunk)保持較大的文本單位(如段落),上下文內(nèi)容豐富且連貫。默認以\n\n為分段標識,如果知識不長,可以以整個作為父區(qū)塊(超過1萬個分段就直接被截斷了)。

2,子區(qū)塊(Child-chunk)以較小的文本單位(如句子),用于精確檢索。默認以\n為分段標識。

3,也可以選擇噪音清理

4,在搜索時通過子區(qū)塊精確檢索后,獲取父區(qū)塊來補充上下文信息,從而給LLM的上下文內(nèi)容更豐富

以句子為最小單位,向量化以后向量匹配的準確度會極大的提升。

官方示意圖如下:

圖片

圖片1,我們可以不斷的調整參數(shù),預覽下,看下實際效果,

索引模式

索引模式有兩種。分別是高質量索引和經(jīng)濟索引

高質量索引

  • 適用場景:需要高精度語義檢索(如復雜問答、多語言支持)。

    • 實現(xiàn)方式:依賴嵌入模型生成向量索引,結合 ReRank 模型優(yōu)化排序。
    • 適用文檔:格式化文檔,如表格、技術手冊

我們看下官方推薦的配置圖片1,選擇高質量

3,選擇向量模型

4,選擇系統(tǒng)推薦的混合檢索

5,選擇Rerank模型,并選擇對應的rerank模型

經(jīng)濟索引

  • 適用場景:預算有限或內(nèi)容簡單(如關鍵詞匹配為主的FAQ)。

    • 實現(xiàn)方式:使用離線向量引擎或關鍵詞索引,無需消耗額外 Token,但語義理解能力較弱。
    • 優(yōu)化建議:可通過調整 TopK(返回相似片段數(shù)量)和 Score 閾值(相似度過濾)平衡召回率與準確率。
    • 適用文檔:非結構化文本**,如會議記錄

使用 

創(chuàng)建應用

圖片

點擊工作室,我們可以看到有很多豐富的應用,包括聊天助手、agent、工作流等 我們選擇最簡單的應用,聊天助手,點擊5,創(chuàng)建空白應用

圖片

添加知識庫

圖片知識庫可以一次選多個,我們只選擇三國演義。

召回設置

圖片

圖片1,選擇Rerank模型

2,選擇相關的模型

3,設置召回數(shù)量(文本片段數(shù)量)

4,相似度匹配,設置0.7

調試與預覽

圖片1,輸入聊天內(nèi)容

2,點擊發(fā)送

3,調試成功以后可以點擊發(fā)布

圖片發(fā)布以后有多種適用方式。

圖片返回工作室以后,我們可以發(fā)現(xiàn)已經(jīng)有對應的應用了。

后記 

后續(xù)我會分享dify相關的高級功能。

同時也會基于dify做整合企業(yè)知識的相關功能開發(fā)。


    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多