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