Dify從入門到高階系列二:手把手教學(xué)!超詳細(xì)的Dify知識(shí)庫配置全攻略 原創(chuàng)
Dify作為一款先進(jìn)的AI應(yīng)用開發(fā)平臺(tái),其檢索增強(qiáng)生成(RAG)功能為知識(shí)管理提供了強(qiáng)大支持。本指南將詳細(xì)介紹如何利用該平臺(tái)搭建高效知識(shí)庫系統(tǒng)。在模型選擇方面,雖然本示例采用OpenAI的接口,但平臺(tái)同樣兼容各類本地化模型部署方案,如Ollama框架等。
前置知識(shí)
數(shù)據(jù)采集階段
- 支持多格式文檔上傳接口
- 智能文檔解析與內(nèi)容提取
內(nèi)容結(jié)構(gòu)化處理
- 自適應(yīng)文本分塊算法
- 向量空間映射轉(zhuǎn)換
- 高維索引存儲(chǔ)方案
查詢響應(yīng)機(jī)制
- 語義向量實(shí)時(shí)計(jì)算
- 多維度相似性檢索
- 上下文感知結(jié)果合成
知識(shí)庫設(shè)置
知識(shí)庫初始化
文本分塊策略
dify平臺(tái)提供可視化分塊調(diào)試工具,支持實(shí)時(shí)參數(shù)調(diào)整與效果預(yù)覽。推薦初次使用者采用父子分塊方案。
通用分段
1,采用??\n\n?
?作為分割段落的默認(rèn)標(biāo)記。
2,每個(gè)區(qū)塊在長(zhǎng)度上的上限被設(shè)置為4000 tokens,但一般來說,默認(rèn)長(zhǎng)度是500 tokens。
3,預(yù)設(shè)的重疊長(zhǎng)度為50 tokens。這是為了在分割過程中保證不同區(qū)塊間有一定的共享部分。我們建議將其設(shè)為總 token 數(shù)量的 10-25%,以獲得最佳效果。
4,預(yù)處理文本的規(guī)則:這包括清除多余的符號(hào)、網(wǎng)絡(luò)鏈接等可能的干擾因素,以凈化原始文本數(shù)據(jù)。
通用分段有個(gè)選項(xiàng),可以使用Q&A分段,開啟之后會(huì)使用LLM對(duì)每段chunk生成Q&A 對(duì)。
父子分段
父子模式的設(shè)計(jì)采取了雙層分段結(jié)構(gòu),這是為了在提高檢索的精確度的同時(shí)保留豐富的上下文信息,實(shí)現(xiàn)對(duì)精準(zhǔn)匹配與深度上下文理解的有序平衡。
- 父區(qū)塊(Parent-chunk)選取較大的文本單位,如整個(gè)段落,以此來儲(chǔ)存豐富并連續(xù)的上下文內(nèi)容。默認(rèn)以?
?\n\n?
?作為段落標(biāo)識(shí),如果知識(shí)篇幅不長(zhǎng),可以將全文設(shè)定為父區(qū)塊(但注意,超過1萬個(gè)分段的內(nèi)容會(huì)被自動(dòng)剪短)。 - 子區(qū)塊(Child-chunk)則以更小的文本單位(例如單獨(dú)的句子)進(jìn)行處理,方便進(jìn)行精細(xì)化的檢索。我們默認(rèn)使用?
?\n?
?作為子區(qū)塊的分段標(biāo)識(shí)。 - 用戶還可選擇開啟噪聲清理功能。
- 在實(shí)際搜索過程中,系統(tǒng)首先通過子區(qū)塊進(jìn)行精確檢索,隨后再獲取相應(yīng)的父區(qū)塊以補(bǔ)全上下文信息,這樣可以為L(zhǎng)LM提供更為豐富的上下文背景。
這里我使用的是父子分段模式
索引模式
索引模式有兩種。分別是高質(zhì)量索引和經(jīng)濟(jì)索引
高質(zhì)量索引
- 適用場(chǎng)景:需要高精度語義檢索(如復(fù)雜問答、多語言支持)。
- 實(shí)現(xiàn)方式:依賴嵌入模型生成向量索引
經(jīng)濟(jì)索引
- 適用場(chǎng)景:適合在預(yù)算緊張或者內(nèi)容簡(jiǎn)潔(例如主要依賴于關(guān)鍵詞匹配的FAQ)的環(huán)境下使用。
- 實(shí)現(xiàn):采取離線向量引擎或者關(guān)鍵詞索引策略,無需消耗額外的 Token,但是語義理解可能相對(duì)較弱。
- 建議:可以通過調(diào)節(jié)?
?TopK?
?(返回的相似文本段落數(shù)量)以及??Score 閾值?
?(過濾掉一定相似度以下的片段)來權(quán)衡召回率和準(zhǔn)確率之間的關(guān)系。
檢索模式
在高質(zhì)量索引方式下,Dify 提供了三種方案:
- 向量檢索,通過生成查詢嵌入并查詢與其向量表示最相似的文本分段。
- 全文檢索,索引文檔中的所有詞匯,從而允許用戶查詢?nèi)我庠~匯,并返回包含這些詞匯的文本片段。
- 混合檢索,同時(shí)執(zhí)行全文檢索和向量檢索,并附加重排序步驟,從兩類查詢結(jié)果中選擇匹配用戶問題的最佳結(jié)果,需配置 Rerank 模型API。
Dify 官方是推薦混合檢索模式,尤其在 Rerank 模型之后,系統(tǒng)會(huì)在混合檢索后對(duì)已召回的文檔結(jié)果再一次進(jìn)行語義重排序,優(yōu)化排序結(jié)果。
聊天機(jī)器人
點(diǎn)擊工作室,我們可以看到有很多豐富的應(yīng)用,包括聊天助手、agent、工作流等。我們選擇最簡(jiǎn)單的應(yīng)用:聊天助手。
添加知識(shí)庫和召回設(shè)置
我們可以添加多個(gè)知識(shí)庫,并對(duì)知識(shí)庫設(shè)置對(duì)應(yīng)的召回策略。
調(diào)試&發(fā)布
總結(jié)
這里詳細(xì)介紹了如何利用 Dify 搭建知識(shí)庫系統(tǒng),后續(xù)會(huì)分享關(guān)于更多dify的原理和企業(yè)化定制開發(fā)的功能,歡迎點(diǎn)贊關(guān)注獲取實(shí)時(shí)更新。
本文轉(zhuǎn)載自公眾號(hào)AI 博物院 作者:longyunfeigu
原文鏈接:??https://mp.weixin.qq.com/s/moUd5ypzOCyXVhnXHEbtHw??
