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