戰(zhàn)】手把手教你基于Dify搭建RAG知識(shí)庫(kù),全程干貨,零基礎(chǔ)小白也能輕松學(xué)會(huì)?。? alt=)
前言Dify 是一款開(kāi)源的大模型應(yīng)用開(kāi)發(fā)平臺(tái)旨在幫助開(kāi)發(fā)者快速構(gòu)建生產(chǎn)級(jí)生成式 AI 應(yīng)用。在Dify 本地化部署中知識(shí)庫(kù)功能是實(shí)現(xiàn)企業(yè)級(jí) AI 應(yīng)用的核心能力。本文介紹基于版本 1.5.1 搭建知識(shí)庫(kù)全流程解析一、Dify基本概念Dify 是一款開(kāi)源的大模型應(yīng)用開(kāi)發(fā)平臺(tái)旨在幫助開(kāi)發(fā)者快速構(gòu)建生產(chǎn)級(jí)生成式 AI 應(yīng)用。它集成了模型管理、提示詞工程、數(shù)據(jù)檢索、工作流編排和運(yùn)維監(jiān)控等核心功能支持?jǐn)?shù)百種開(kāi)源及商業(yè)大模型如 Llama3、GPT-4、Claude 等并提供可視化工作流設(shè)計(jì)、RAG檢索增強(qiáng)生成管道、Agent 智能體框架等特色能力。其核心特點(diǎn)包括1. 低代碼/無(wú)代碼界面通過(guò)可視化編排 Prompt、連接知識(shí)庫(kù)、配置 Agent 工作流降低 AI 開(kāi)發(fā)門(mén)檻。2. 技術(shù)棧整合內(nèi)置 RAG 管道、多模型支持如 OpenAI、本地模型、可觀測(cè)性工具避免重復(fù)開(kāi)發(fā)基礎(chǔ)組件。3. 開(kāi)源與自托管代碼完全開(kāi)放支持 Docker 私有化部署確保數(shù)據(jù)隱私與合規(guī)性。二、Dify本地部署1. Docker部署2. Dify部署硬件要求CPU ≥ 2 核RAM ≥ 4GB推薦 8GB 以上以運(yùn)行中等模型# 克隆倉(cāng)庫(kù)git clone https://github.com/langgenius/dify.git cd dify/docker# 復(fù)制環(huán)境配置cp .env.example .env# 啟動(dòng)容器sudo docker compose up -d驗(yàn)證服務(wù)**訪問(wèn) http://localhost/install**初始化管理員賬號(hào)。3. 模型配置在“設(shè)置”—“模型供應(yīng)商”中自定義配置所需的大模型API-KEY類(lèi)型包括Chat、Text Embedding、Rerank模型。三、基于Dify的知識(shí)庫(kù)搭建1. Dify知識(shí)庫(kù)介紹Dify 知識(shí)庫(kù)系統(tǒng)通過(guò)**RAG檢索增強(qiáng)生成**技術(shù)實(shí)現(xiàn)核心流程LLM 接收到用戶(hù)的問(wèn)題后將首先基于關(guān)鍵詞在知識(shí)庫(kù)內(nèi)檢索內(nèi)容。知識(shí)庫(kù)將根據(jù)關(guān)鍵詞召回相關(guān)度排名較高的內(nèi)容區(qū)塊向 LLM 提供關(guān)鍵上下文以輔助其生成更加精準(zhǔn)的回答。開(kāi)發(fā)者可以通過(guò)此方式確保 LLM 不僅僅依賴(lài)于訓(xùn)練數(shù)據(jù)中的知識(shí)還能夠處理來(lái)自實(shí)時(shí)文檔和數(shù)據(jù)庫(kù)的動(dòng)態(tài)數(shù)據(jù)從而提高回答的準(zhǔn)確性和相關(guān)性。支持多種文本類(lèi)型例如長(zhǎng)文本內(nèi)容TXT、Markdown、DOCX、HTML、JSON 甚至是 PDF結(jié)構(gòu)化數(shù)據(jù)CSV、Excel 等在線數(shù)據(jù)源網(wǎng)頁(yè)爬蟲(chóng)、Notion 等將文件上傳至“知識(shí)庫(kù)”即可自動(dòng)完成數(shù)據(jù)處理。如果內(nèi)部已建有獨(dú)立知識(shí)庫(kù)可以通過(guò)連接外部知識(shí)庫(kù)與 Dify 建立連接。2. 知識(shí)庫(kù)搭建“知識(shí)庫(kù)”—“創(chuàng)建知識(shí)庫(kù)”—“選擇數(shù)據(jù)源”選擇作為知識(shí)庫(kù)的來(lái)源。2.1 指定分段模式知識(shí)庫(kù)支持兩種分段模式通用模式與父子模式。如果你是首次創(chuàng)建知識(shí)庫(kù)建議選擇父子模式。1通用模式系統(tǒng)按照用戶(hù)自定義的規(guī)則將內(nèi)容拆分為獨(dú)立的分段在該模式下需要根據(jù)不同的文檔格式或場(chǎng)景要求參考以下設(shè)置項(xiàng)設(shè)置文本的分段規(guī)則。分段標(biāo)識(shí)符如\n可以遵循正則表達(dá)式語(yǔ)法自定義分塊規(guī)則系統(tǒng)將在文本出現(xiàn)分段標(biāo)識(shí)符時(shí)自動(dòng)執(zhí)行分段。下圖是不同語(yǔ)法的文本分段效果分段最大長(zhǎng)度指定分段內(nèi)的文本字符數(shù)最大上限超出該長(zhǎng)度時(shí)將強(qiáng)制分段。默認(rèn)值為 500 Tokens分段長(zhǎng)度的最大上限為 4000 Tokens**分段重疊長(zhǎng)度**指的是在對(duì)數(shù)據(jù)進(jìn)行分段時(shí)段與段之間存在一定的重疊部分。這種重疊可以幫助提高信息的保留和分析的準(zhǔn)確性提升召回效果。建議設(shè)置為分段長(zhǎng)度 Tokens 數(shù)的 10-25%配置完成后點(diǎn)擊“預(yù)覽區(qū)塊”即可查看分段后的效果??梢灾庇^的看到每個(gè)區(qū)塊的字符數(shù)。如果重新修改了分段規(guī)則需要重新點(diǎn)擊按鈕以查看新的內(nèi)容分段。若同時(shí)批量上傳了多個(gè)文檔輕點(diǎn)頂部的文檔標(biāo)題快速切換并查看其它文檔的分段效果。2父子模式與通用模式相比父子模式采用雙層分段結(jié)構(gòu)來(lái)平衡檢索的精確度和上下文信息,讓精準(zhǔn)匹配與全面的上下文信息二者兼得。其中**父區(qū)塊Parent-chunk保持較大的文本單位如段落提供豐富的上下文信息子區(qū)塊Child-chunk則是較小的文本單位如句子用于精確檢索。系統(tǒng)首先通過(guò)子區(qū)塊進(jìn)行精確檢索以確保相關(guān)性然后獲取對(duì)應(yīng)的父區(qū)塊來(lái)補(bǔ)充上下文信息從而在生成響應(yīng)時(shí)既保證準(zhǔn)確性又能提供完整的背景信息。**可以通過(guò)設(shè)置分隔符和最大長(zhǎng)度來(lái)自定義父子區(qū)塊的分段方式。例如在 AI 智能客服場(chǎng)景下用戶(hù)輸入的問(wèn)題將定位至解決方案文檔內(nèi)某個(gè)具體的句子隨后將該句子所在的段落或章節(jié)聯(lián)同發(fā)送至 LLM補(bǔ)全該問(wèn)題的完整背景信息給出更加精準(zhǔn)的回答。其基本機(jī)制包括子分段匹配查詢(xún)將文檔拆分為較小、集中的信息單元例如一句話更加精準(zhǔn)地匹配用戶(hù)所輸入的問(wèn)題。子分段能快速提供與用戶(hù)需求最相關(guān)的初步結(jié)果。父分段提供上下文將包含匹配子分段的更大部分如段落、章節(jié)甚至整個(gè)文檔視作父分段并提供給大語(yǔ)言模型LLM。父分段能為 LLM 提供完整的背景信息避免遺漏重要細(xì)節(jié)幫助 LLM 輸出更貼合知識(shí)庫(kù)內(nèi)容的回答。配置完成后點(diǎn)擊“預(yù)覽區(qū)塊”即可查看分段后的效果??梢圆榭锤阜侄蔚恼w字符數(shù)。背景標(biāo)藍(lán)的字符為子分塊同時(shí)顯示當(dāng)前子段的字符數(shù)。3兩種模式的區(qū)別兩者的主要區(qū)別在于內(nèi)容區(qū)塊的分段形式。通用模式的分段結(jié)果為多個(gè)獨(dú)立的內(nèi)容分段而父子模式采用雙層結(jié)構(gòu)進(jìn)行內(nèi)容分段即單個(gè)父分段的內(nèi)容文檔全文或段落內(nèi)包含多個(gè)子分段內(nèi)容句子。不同的分段方式將影響LLM對(duì)于知識(shí)庫(kù)內(nèi)容的檢索效果。在相同文檔中采用父子檢索所提供的上下文信息會(huì)更全面且在精準(zhǔn)度方面也能保持較高水平大大優(yōu)于傳統(tǒng)的單層通用檢索方式。2.2 索引方法與檢索設(shè)置提供高質(zhì)量與經(jīng)濟(jì)兩種索引方法其中分別提供不同的檢索設(shè)置選項(xiàng)在高質(zhì)量模式下使用Embedding嵌入模型將已分段的文本塊轉(zhuǎn)換為數(shù)字向量幫助更加有效地壓縮與存儲(chǔ)大量文本信息使得用戶(hù)問(wèn)題與文本之間的匹配能夠更加精準(zhǔn)。將內(nèi)容塊向量化并錄入至數(shù)據(jù)庫(kù)后需要通過(guò)有效的檢索方式調(diào)取與用戶(hù)問(wèn)題相匹配的內(nèi)容塊。高質(zhì)量模式提供向量檢索、全文檢索和混合檢索三種檢索設(shè)置。1向量檢索定義向量化用戶(hù)輸入的問(wèn)題并生成查詢(xún)文本的數(shù)學(xué)向量比較查詢(xún)向量與知識(shí)庫(kù)內(nèi)對(duì)應(yīng)的文本向量間的距離尋找相鄰的分段內(nèi)容。**Rerank****模型**默認(rèn)關(guān)閉。開(kāi)啟后將使用第三方Rerank模型再一次重排序由向量檢索召回的內(nèi)容分段以?xún)?yōu)化排序結(jié)果。幫助LLM獲取更加精確的內(nèi)容輔助其提升輸出的質(zhì)量。TopK****用于篩選與用戶(hù)問(wèn)題相似度最高的文本片段。系統(tǒng)同時(shí)會(huì)根據(jù)選用模型上下文窗口大小動(dòng)態(tài)調(diào)整片段數(shù)量。默認(rèn)值為 3數(shù)值越高預(yù)期被召回的文本分段數(shù)量越多。**Score閾值**用于設(shè)置文本片段篩選的相似度閾值只召回超過(guò)設(shè)置分?jǐn)?shù)的文本片段默認(rèn)值為 0.5。數(shù)值越高說(shuō)明對(duì)于文本與問(wèn)題要求的相似度越高預(yù)期被召回的文本數(shù)量也越少。2全文檢索定義關(guān)鍵詞檢索即索引文檔中的所有詞匯。用戶(hù)輸入問(wèn)題后通過(guò)明文關(guān)鍵詞匹配知識(shí)庫(kù)內(nèi)對(duì)應(yīng)的文本片段返回符合關(guān)鍵詞的文本片段類(lèi)似搜索引擎中的明文檢索。**Rerank****模型**默認(rèn)關(guān)閉。開(kāi)啟后將使用第三方Rerank模型再一次重排序由全文檢索召回的內(nèi)容分段以?xún)?yōu)化排序結(jié)果。向LLM發(fā)送經(jīng)過(guò)重排序的分段輔助其提升輸出的內(nèi)容質(zhì)量。3混合檢索定義同時(shí)執(zhí)行全文檢索和向量檢索或Rerank模型從查詢(xún)結(jié)果中選擇匹配用戶(hù)問(wèn)題的最佳結(jié)果。權(quán)重設(shè)置允許用戶(hù)賦予語(yǔ)義優(yōu)先和關(guān)鍵詞優(yōu)先自定義的權(quán)重。關(guān)鍵詞檢索指的是在知識(shí)庫(kù)內(nèi)進(jìn)行全文檢索Full Text Search語(yǔ)義檢索指的是在知識(shí)庫(kù)內(nèi)進(jìn)行向量檢索Vector Search。Rerank模型默認(rèn)關(guān)閉開(kāi)啟后將使用第三方Rerank模型再一次重排序由混合檢索召回的內(nèi)容分段以?xún)?yōu)化排序結(jié)果。3.知識(shí)庫(kù)使用運(yùn)用Dify內(nèi)置的應(yīng)用模板創(chuàng)建基于知識(shí)庫(kù)的問(wèn)答系統(tǒng)“工作室”—“從應(yīng)用模板創(chuàng)建”—“Knowledge Retreival Chatbot”在“Knowledge Retrieval”組件配置知識(shí)庫(kù)名稱(chēng)和召回設(shè)置在“LLM”組件中設(shè)置模型類(lèi)型及將知識(shí)庫(kù)檢索結(jié)果作為上下文設(shè)置完成后進(jìn)行預(yù)覽測(cè)試可在工作流中查看每一步的運(yùn)行情況在“Knowledge Retrieval”輸出中可查看知識(shí)庫(kù)的檢索結(jié)果總結(jié)Dify通過(guò)知識(shí)庫(kù)索引優(yōu)化、多模態(tài)支持和動(dòng)態(tài)參數(shù)校驗(yàn)構(gòu)建了企業(yè)級(jí) AI 知識(shí)庫(kù)的完整技術(shù)棧。其本地化部署方案在數(shù)據(jù)安全GDPR/HIPAA 合規(guī)、性能和成本上具有顯著優(yōu)勢(shì)。無(wú)論是醫(yī)療、金融還是制造業(yè)均可通過(guò) Dify 實(shí)現(xiàn)私有數(shù)據(jù)的智能管理與精準(zhǔn)應(yīng)用。建議企業(yè)結(jié)合自身業(yè)務(wù)場(chǎng)景靈活運(yùn)用 FireCrawl 爬取、Xinference 模型部署等擴(kuò)展方案打造貼合需求的行業(yè)級(jí)知識(shí)庫(kù)系統(tǒng)。最后為什么要學(xué)AI大模型當(dāng)下??智能市場(chǎng)迎來(lái)了爆發(fā)期并逐漸進(jìn)?以??通?智能AGI為主導(dǎo)的新時(shí)代。企業(yè)紛紛官宣“ AI ”戰(zhàn)略為新興技術(shù)?才創(chuàng)造豐富的就業(yè)機(jī)會(huì)?才缺?將達(dá) 400 萬(wàn)DeepSeek問(wèn)世以來(lái)生成式AI和大模型技術(shù)爆發(fā)式增長(zhǎng)讓很多崗位重新成了炙手可熱的新星崗位薪資遠(yuǎn)超很多后端崗位在程序員中穩(wěn)居前列。與此同時(shí)AI與各行各業(yè)深度融合飛速發(fā)展成為炙手可熱的新風(fēng)口企業(yè)非常需要了解AI、懂AI、會(huì)用AI的員工紛紛開(kāi)出高薪招聘AI大模型相關(guān)崗位。最近很多程序員朋友都已經(jīng)學(xué)習(xí)或者準(zhǔn)備學(xué)習(xí) AI 大模型后臺(tái)也經(jīng)常會(huì)有小伙伴咨詢(xún)學(xué)習(xí)路線和學(xué)習(xí)資料我特別拜托北京清華大學(xué)學(xué)士和美國(guó)加州理工學(xué)院博士學(xué)位的魯為民老師給大家這里給大家準(zhǔn)備了一份涵蓋了AI大模型入門(mén)學(xué)習(xí)思維導(dǎo)圖、精品AI大模型學(xué)習(xí)書(shū)籍手冊(cè)、視頻教程、實(shí)戰(zhàn)學(xué)習(xí)等錄播視頻全系列的學(xué)習(xí)資料這些學(xué)習(xí)資料不僅深入淺出而且非常實(shí)用讓大家系統(tǒng)而高效地掌握AI大模型的各個(gè)知識(shí)點(diǎn)。這份完整版的大模型 AI 學(xué)習(xí)資料已經(jīng)上傳CSDN朋友們?nèi)绻枰梢晕⑿艗呙柘路紺SDN官方認(rèn)證二維碼免費(fèi)領(lǐng)取【保證100%免費(fèi)】AI大模型系統(tǒng)學(xué)習(xí)路線在面對(duì)AI大模型開(kāi)發(fā)領(lǐng)域的復(fù)雜與深入精準(zhǔn)學(xué)習(xí)顯得尤為重要。一份系統(tǒng)的技術(shù)路線圖不僅能夠幫助開(kāi)發(fā)者清晰地了解從入門(mén)到精通所需掌握的知識(shí)點(diǎn)還能提供一條高效、有序的學(xué)習(xí)路徑。但知道是一回事做又是另一回事初學(xué)者最常遇到的問(wèn)題主要是理論知識(shí)缺乏、資源和工具的限制、模型理解和調(diào)試的復(fù)雜性在這基礎(chǔ)上找到高質(zhì)量的學(xué)習(xí)資源不浪費(fèi)時(shí)間、不走彎路又是重中之重。AI大模型入門(mén)到實(shí)戰(zhàn)的視頻教程項(xiàng)目包看視頻學(xué)習(xí)是一種高效、直觀、靈活且富有吸引力的學(xué)習(xí)方式可以更直觀地展示過(guò)程能有效提升學(xué)習(xí)興趣和理解力是現(xiàn)在獲取知識(shí)的重要途徑光學(xué)理論是沒(méi)用的要學(xué)會(huì)跟著一起敲要?jiǎng)邮謱?shí)操才能將自己的所學(xué)運(yùn)用到實(shí)際當(dāng)中去這時(shí)候可以搞點(diǎn)實(shí)戰(zhàn)案例來(lái)學(xué)習(xí)。海量AI大模型必讀的經(jīng)典書(shū)籍PDF閱讀AI大模型經(jīng)典書(shū)籍可以幫助讀者提高技術(shù)水平開(kāi)拓視野掌握核心技術(shù)提高解決問(wèn)題的能力同時(shí)也可以借鑒他人的經(jīng)驗(yàn)。對(duì)于想要深入學(xué)習(xí)AI大模型開(kāi)發(fā)的讀者來(lái)說(shuō)閱讀經(jīng)典書(shū)籍是非常有必要的。600AI大模型報(bào)告實(shí)時(shí)更新這套包含640份報(bào)告的合集涵蓋了AI大模型的理論研究、技術(shù)實(shí)現(xiàn)、行業(yè)應(yīng)用等多個(gè)方面。無(wú)論您是科研人員、工程師還是對(duì)AI大模型感興趣的愛(ài)好者這套報(bào)告合集都將為您提供寶貴的信息和啟示。AI大模型面試真題答案解析我們學(xué)習(xí)AI大模型必然是想找到高薪的工作下面這些面試題都是總結(jié)當(dāng)前最新、最熱、最高頻的面試題并且每道題都有詳細(xì)的答案面試前刷完這套面試題資料小小offer不在話下這份完整版的大模型 AI 學(xué)習(xí)資料已經(jīng)上傳CSDN朋友們?nèi)绻枰梢晕⑿艗呙柘路紺SDN官方認(rèn)證二維碼免費(fèi)領(lǐng)取【保證100%免費(fèi)】