使用 DeepSeek-R1 等推理模型將 RAG 轉(zhuǎn)換為 RAT,以實(shí)現(xiàn)更智能的 AI

# 使用 DeepSeek-R1 等推理模型將 RAG 轉(zhuǎn)換為 RAT,以實(shí)現(xiàn)更智能的 AI 傳統(tǒng)的檢索增強(qiáng)生成(RAG)系統(tǒng)在生成具備上下文感知的答案方面表現(xiàn)出色。然而,它們往往存在以下不足: - **精確性不足**:?jiǎn)未瓮评砜赡軙?huì)忽略復(fù)雜查詢(xún)中的細(xì)微差別。 - **理解不夠深入**:若沒(méi)有迭代過(guò)程,輸出結(jié)果可能無(wú)法全面解決多方面的問(wèn)題。 ## RAG簡(jiǎn)介 檢索增強(qiáng)思考(RAT)通過(guò)引入模仿人類(lèi)思維過(guò)程的推理循環(huán),彌補(bǔ)了這些差距。這使得它在以下應(yīng)用場(chǎng)景中具有極高價(jià)值: - 復(fù)雜問(wèn)題解答 - 特定領(lǐng)域的AI助手 - 研究密集型工作流程 ![](https://upload-images.jianshu.io/upload_images/17294212-1baee2cfe2d14699.png) ## RAT詳解 如下圖所示,RAT的工作步驟如下: 1. **用戶(hù)輸入**:與RAG一樣,用戶(hù)提出問(wèn)題。例如:“我如何提高我的生產(chǎn)力?” 2. **知識(shí)檢索**:系統(tǒng)從知識(shí)庫(kù)(如文檔、文章)中檢索與問(wèn)題相關(guān)的信息片段。例如:檢索到的內(nèi)容可能包括關(guān)于時(shí)間管理、生產(chǎn)力技巧的文章,或者像任務(wù)優(yōu)先級(jí)排序這樣的工具介紹。 ![](https://upload-images.jianshu.io/upload_images/17294212-b7430c84c7955130.png) 3. **推理循環(huán)(迭代優(yōu)化)** - **初始思考**:推理大語(yǔ)言模型(LLM)基于檢索到的信息片段和用戶(hù)問(wèn)題開(kāi)始工作,生成初始思考或推理內(nèi)容。例如:“專(zhuān)注于有效進(jìn)行任務(wù)優(yōu)先級(jí)排序”。 - **迭代**:系統(tǒng)將這個(gè)思考結(jié)果反饋回檢索和推理過(guò)程中。每次迭代都會(huì)優(yōu)化檢索到的上下文,并生成更細(xì)致入微的推理。 - 迭代2:“將任務(wù)分解成更小的部分,并根據(jù)緊急程度和重要性對(duì)它們進(jìn)行優(yōu)先級(jí)排序”。 - 迭代3:“實(shí)施時(shí)間塊管理,并消除干擾以進(jìn)行深度工作”。 4. **最終思考**:在完成指定的迭代次數(shù)后(或者當(dāng)推理趨于穩(wěn)定時(shí)停止),系統(tǒng)會(huì)產(chǎn)生一個(gè)最終思考結(jié)果,這是對(duì)問(wèn)題經(jīng)過(guò)深入思考后得出的詳細(xì)理解。最終思考:“要提高生產(chǎn)力,可以使用艾森豪威爾矩陣對(duì)任務(wù)進(jìn)行優(yōu)先級(jí)排序,將它們分解成更小的部分,并利用時(shí)間塊管理來(lái)專(zhuān)注工作”。 5. **增強(qiáng)生成**:經(jīng)過(guò)優(yōu)化的推理(最終思考結(jié)果)會(huì)被傳遞給負(fù)責(zé)生成答案的LLM。這個(gè)LLM將推理結(jié)果與原始問(wèn)題相結(jié)合,生成最終便于用戶(hù)理解的答案。最終答案:“要提高你的生產(chǎn)力,可以先使用艾森豪威爾矩陣對(duì)任務(wù)進(jìn)行優(yōu)先級(jí)排序。將它們分解成易于管理的步驟,并利用時(shí)間塊管理來(lái)保持專(zhuān)注”。 ## 為何使用RAGLight來(lái)實(shí)現(xiàn)RAT? RAGLight是一個(gè)功能多樣的框架,它通過(guò)為檢索、推理和生成工作流程提供模塊化組件,簡(jiǎn)化了RAG和RAT管道的實(shí)現(xiàn)過(guò)程。憑借預(yù)構(gòu)建的集成功能和可擴(kuò)展的設(shè)計(jì),你可以專(zhuān)注于提升AI的能力,而無(wú)需從頭開(kāi)始開(kāi)發(fā)。 以下是如何使用RAGLight設(shè)置RAT和RAG管道,以及關(guān)鍵參數(shù)和定制選項(xiàng)的詳細(xì)解釋。 ## 設(shè)置RAT管道 ```python from raglight.rat.simple_rat_api import RATPipeline from raglight.models.data_source_model import FolderSource, GitHubSource from raglight.config.settings import Settings Settings.setup_logging() pipeline = RATPipeline(knowledge_base=[ FolderSource(path="/knowledge_base"), GitHubSource(url="https://github.com/Bessouat40/RAGLight") ], model_name="llama3", reasoning_model_name="deepseek-r1:1.5b", reflection=1) pipeline.build() response = pipeline.generate("How can I create an easy RAGPipeline using raglight framework? Give me the the easier python implementation") print(response) ``` ## 理解RAGLight參數(shù) - **knowledge_base**:定義知識(shí)來(lái)源的列表。RAGLight支持: - FolderSource:指向包含文檔(如PDF、文本文件)的本地文件夾路徑。 - GitHubSource:要包含在知識(shí)庫(kù)中的GitHub倉(cāng)庫(kù)的URL。你可以組合多個(gè)文件夾和倉(cāng)庫(kù),以創(chuàng)建一個(gè)全面的知識(shí)庫(kù)。 - **model_name**:用于最終生成的LLM的名稱(chēng)。RAGLight目前支持從Ollama拉取到本地的模型。你可以將“l(fā)lama3”替換為其他模型,如“deepseek-r1:1.5b”,或者任何與Ollama兼容且已拉取到本地的模型。也可以使用推理模型。 - **reasoning_model_name(RAT特定)**:指定在RAT管道中用于迭代推理的模型。你必須選擇推理模型。實(shí)際上,RAGLight目前只支持像deepseek-r1:1.5b這樣的deepseek模型。 - **reflection(RAT特定)**:定義要執(zhí)行的推理迭代次數(shù)。每次迭代都會(huì)優(yōu)化檢索到的上下文和推理邏輯。增加迭代次數(shù)可以進(jìn)行更深入的推理,減少迭代次數(shù)則可以加快處理速度。 - **pipeline.build** :此函數(shù)用于處理知識(shí)庫(kù)、生成嵌入向量,并初始化向量存儲(chǔ)。 - 工作原理:解析知識(shí)庫(kù)來(lái)源(如文件夾、GitHub倉(cāng)庫(kù));使用指定模型為所有文檔創(chuàng)建嵌入向量;將嵌入向量存儲(chǔ)在向量存儲(chǔ)中以供檢索。 - **pipeline.generate**:根據(jù)用戶(hù)的查詢(xún)和從知識(shí)庫(kù)中檢索到的上下文生成響應(yīng)。 - 工作原理:將用戶(hù)查詢(xún)轉(zhuǎn)換為嵌入向量;從向量存儲(chǔ)中檢索相關(guān)文檔或片段;(對(duì)于RAT管道)使用推理模型迭代優(yōu)化響應(yīng);生成最終具有上下文感知的響應(yīng)。 本文由[mdnice](https://mdnice.com/?platform=6)多平臺(tái)發(fā)布
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容