群友一直希望我做一個(gè)dify的教程,我把去年的dify鏟了,重新安裝了一遍。 同時(shí)基于以前的文章提問,以及群友的問題,我先做一個(gè)知識(shí)科普,不感興趣的可以繞過這塊。 國(guó)產(chǎn)AI之光!DeepSeek本地部署教程,效果媲美GPT-4 服務(wù)器繁忙,電腦配置太低,別急deepseek滿血版來了 DeepSeek+本地知識(shí)庫:真的太香了(修訂版) DeepSeek+本地知識(shí)庫:真是太香了(企業(yè)方案) 本地DeepSeek下載慢,中斷、內(nèi)網(wǎng)無法安裝方案來了 最輕量級(jí)的deepseek應(yīng)用,支持聯(lián)網(wǎng)或知識(shí)庫 deepseek一鍵生成小紅書爆款內(nèi)容,排版下載全自動(dòng)!睡后收入不是夢(mèng) 知識(shí)科普關(guān)于模型大語言模型(LLM)是通過深度學(xué)習(xí)技術(shù),基于海量歷史文本數(shù)據(jù)訓(xùn)練出的概率生成系統(tǒng)。
更新機(jī)制
綜上,我們能做的更新機(jī)制就是給它通過提示詞上下文臨時(shí)注入知識(shí)。 關(guān)于知識(shí)庫
我們之前說的知識(shí)庫都是廣義知識(shí)庫。 在 關(guān)于嵌入模型嵌入模型是一種將高維離散數(shù)據(jù)(文本、圖像等)轉(zhuǎn)換為低維連續(xù)向量的技術(shù),這種轉(zhuǎn)換讓機(jī)器能更好地理解和處理復(fù)雜數(shù)據(jù)。 舉一個(gè)例子來理解向量,你正在玩一個(gè)叫做'猜詞'的游戲。你的目標(biāo)是描述一個(gè)詞,而你的朋友們要根據(jù)你的描述猜出這個(gè)詞。你不能直接說出這個(gè)詞,而是要用其他相關(guān)的詞來描述它。例如,你可以用'熱'、'喝'、'早餐'來描述'咖啡'。嵌入模型就是將一個(gè)詞轉(zhuǎn)化為其他相關(guān)詞的專用模型。 '熱'、'喝'、'早餐' 可以理解為向量。不過向量值是在向量空間的特定位置,在這個(gè)空間里語義相近的詞會(huì)自動(dòng)聚集起來。所以就有了相似度的概念,相似度越高,越匹配。 我們使用的bge-m3 只能向量化出1024維。 ollama show bge-m3:latest 為什么沒有匹配到知識(shí)
2,將文檔分割成適當(dāng)大小的文本塊 3,使用embedding模型將每個(gè)文本段轉(zhuǎn)換為向量 4,將向量和原文存儲(chǔ)到向量數(shù)據(jù)庫中 查詢處理階段 1,將用戶輸入問題轉(zhuǎn)換為向量 2, 在向量庫中檢索相似內(nèi)容 3, 將檢索到的相關(guān)內(nèi)容作為上下文提供給LLM 我們用的本地應(yīng)用工具,一般都是粗粒度分段,向量化的質(zhì)量沒法保證。 本地知識(shí)庫安全嗎?根據(jù)上一步,我們可以知道本地知識(shí)庫+本地大模型是安全的。 本地知識(shí)庫+遠(yuǎn)端api的大模型,會(huì)把片段上傳。 dify安裝前提條件假設(shè)你已經(jīng)安裝了docker,docker安裝不同的架構(gòu)安裝方式不一樣,這里就不做教程了。 已經(jīng)登錄了docker 安裝完docker以后,記得調(diào)整docker鏡像的存儲(chǔ)地址。
安裝下載dify通過官網(wǎng)下載,如果你沒有魔法,可以從網(wǎng)盤里那對(duì)應(yīng)的
如果沒有g(shù)it環(huán)境,可以直接從網(wǎng)盤下載壓縮包。 我們下載以后,只關(guān)注docker文件夾和README_CN.md即可。 清理(非必須)由于我的dify安裝的比較早,是0.7.x版本,為了給大家演示,就把原來的鏟了。如果你以前安裝過dify,使用以下命令清理歷史鏡像 cd docker 進(jìn)入目錄 創(chuàng)建配置我們進(jìn)入dify目錄下的docker目錄中,比如我的 E:\ai\code\dify\docker
修改dify綁定ip API 服務(wù)綁定地址,默認(rèn):0.0.0.0,即所有地址均可訪問。 剛開始我以為是控制dify對(duì)外暴露的服務(wù)的,改成了127.0.0.1,然后出現(xiàn)以下的502,折騰了我快3個(gè)小時(shí)。 修改端口(非必須) 默認(rèn)占用的是80和443端口,如果你本機(jī)已經(jīng)部署了其他的應(yīng)用,占了該端口,修改.env文件中的下面兩個(gè)變量 EXPOSE_NGINX_PORT=8001 上傳文件大小 默認(rèn)上傳圖片大小是10MB,上傳視頻大小是100MB,文件默認(rèn)是50MB,如果有需要修改下面對(duì)應(yīng)的參數(shù)
啟動(dòng)difydocker compose up -d 啟動(dòng)以后在docker Desktop中查看, 設(shè)置管理員與登錄http://127.0.0.1:8001/install 填寫相關(guān)信息,設(shè)置管理員賬戶。
![]() 設(shè)置模型
本地模型設(shè)置
添加對(duì)話模型 關(guān)于ip 添加向量模型
系統(tǒng)模型設(shè)置
2,選擇已經(jīng)配置的模型,當(dāng)然建立知識(shí)庫的時(shí)候,也可以切換 3,選擇向量模型 4,保存 在線api模型配置騰訊模型配置(免費(fèi)到2月25日)
2,模型名稱選擇deepseek-r1 3,api key 填寫自己的即可 4,填寫地址:https://api.lkeap.cloud.tencent.com/v1 硅基流動(dòng)添加
模型供應(yīng)商 配置好以后,我們可以在模型列表那里看到所有的模型 最終系統(tǒng)模型設(shè)置![]() 知識(shí)庫設(shè)置創(chuàng)建知識(shí)庫![]() ![]() ![]() 分段dify的分段有個(gè)好處,設(shè)置分段以后,可以實(shí)時(shí)預(yù)覽,可以根據(jù)預(yù)覽效果,自己實(shí)時(shí)調(diào)整分段策略。 通用分段(原自動(dòng)分段與清洗)關(guān)鍵點(diǎn): 1,默認(rèn) 2,最大分段長(zhǎng)度為4000tokens,默認(rèn)為500tokens 3,分段重疊長(zhǎng)度,默認(rèn)為50tokens,用于分段時(shí),段與段之間存在一定的重疊部分。建議設(shè)置為分段長(zhǎng)度 Tokens 數(shù)的 10-25%; 4,文本預(yù)處理規(guī)則:用于移除冗余符號(hào)、URL等噪聲 5,這里還有一個(gè)點(diǎn),向量模型會(huì)自動(dòng)按段落或語義進(jìn)行切分,也就是大家分段以后內(nèi)容缺失的根因。
![]() ![]() 父子分段父子模式采用雙層分段結(jié)構(gòu)來平衡檢索的精確度和上下文信息,讓精準(zhǔn)匹配與全面的上下文信息二者兼得。 關(guān)鍵點(diǎn) 1,父區(qū)塊(Parent-chunk)保持較大的文本單位(如段落),上下文內(nèi)容豐富且連貫。默認(rèn)以 2,子區(qū)塊(Child-chunk)以較小的文本單位(如句子),用于精確檢索。默認(rèn)以 3,也可以選擇噪音清理 4,在搜索時(shí)通過子區(qū)塊精確檢索后,獲取父區(qū)塊來補(bǔ)充上下文信息,從而給LLM的上下文內(nèi)容更豐富 以句子為最小單位,向量化以后向量匹配的準(zhǔn)確度會(huì)極大的提升。 官方示意圖如下: ![]()
索引模式索引模式有兩種。分別是高質(zhì)量索引和經(jīng)濟(jì)索引 高質(zhì)量索引
我們看下官方推薦的配置 3,選擇向量模型 4,選擇系統(tǒng)推薦的混合檢索 5,選擇Rerank模型,并選擇對(duì)應(yīng)的rerank模型 經(jīng)濟(jì)索引
使用創(chuàng)建應(yīng)用![]() 點(diǎn)擊工作室,我們可以看到有很多豐富的應(yīng)用,包括聊天助手、agent、工作流等 我們選擇最簡(jiǎn)單的應(yīng)用,聊天助手,點(diǎn)擊5,創(chuàng)建空白應(yīng)用 ![]() 添加知識(shí)庫
召回設(shè)置![]()
2,選擇相關(guān)的模型 3,設(shè)置召回?cái)?shù)量(文本片段數(shù)量) 4,相似度匹配,設(shè)置0.7 調(diào)試與預(yù)覽
2,點(diǎn)擊發(fā)送 3,調(diào)試成功以后可以點(diǎn)擊發(fā)布
后記后續(xù)我會(huì)分享dify相關(guān)的高級(jí)功能。 同時(shí)也會(huì)基于dify做整合企業(yè)知識(shí)的相關(guān)功能開發(fā)。
|
|