久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

百萬(wàn)上下文RAG,Agent還能這么玩

 黃爸爸好 2024-06-14
?

在AI技術(shù)飛速發(fā)展的今天,,我們見(jiàn)證了許多令人驚嘆的突破,。最近,Qwen2模型的開(kāi)源引起了廣泛的關(guān)注,,它不僅展示了超越閉源模型的能力,,還帶來(lái)了一個(gè)全新的框架——Qwen-Agent

Qwen-Agent的設(shè)計(jì)思路雖然與LangChain相似,但其發(fā)布幾個(gè)的Agent示例卻很有意思,。今天本文將深入探討如何使用Qwen-Agent將上下文記憶擴(kuò)展到百萬(wàn)量級(jí),,讓Agent的智能得到更廣泛的應(yīng)用。

暴力關(guān)鍵字檢索優(yōu)于向量方案

在處理大規(guī)模文本數(shù)據(jù)時(shí),,一個(gè)關(guān)鍵的挑戰(zhàn)是如何快速準(zhǔn)確地定位到最相關(guān)的信息塊,。Qwen-Agent通過(guò)一種看似“暴力”的方法——,基于LLM判斷相關(guān)性 AND 基于關(guān)鍵字檢索,解決了這一難題,。這種方法雖然簡(jiǎn)單,但在實(shí)際操作中卻顯示出了意想不到的效果,。

關(guān)鍵字檢索的基本原理

關(guān)鍵字檢索是一種直接且高效的方法,,尤其是在面對(duì)大規(guī)模文本數(shù)據(jù)時(shí)。通過(guò)預(yù)先定義的關(guān)鍵字,,我們可以快速定位到包含這些關(guān)鍵字的文本塊,。這種方法的優(yōu)勢(shì)在于其速度和簡(jiǎn)單性,尤其是在處理大規(guī)模數(shù)據(jù)時(shí),。

實(shí)現(xiàn)關(guān)鍵字檢索的步驟

  1. 預(yù)處理文本數(shù)據(jù):將大規(guī)模文本數(shù)據(jù)分塊,。
  2. 基于LLM判斷相關(guān)性:并行處理每個(gè)分塊,讓聊天模型評(píng)估其與用戶查詢的相關(guān)性,, 如果相關(guān)則輸出相關(guān)句子用于后續(xù)檢索,。
圖片
  1. 分析用戶指令,提取關(guān)鍵字:通過(guò)LLM對(duì)用戶指令進(jìn)行兩個(gè)方面的預(yù)處理,。1.區(qū)分指令信息與非指令信息,。2.從查詢的信息部分推導(dǎo)出多語(yǔ)言關(guān)鍵詞
圖片
  1. 最終檢索:運(yùn)用BM25這一傳統(tǒng)的基于關(guān)鍵詞的檢索方法,找出與提取關(guān)鍵詞最相關(guān)的塊并生成最終答案,,這一步驟的實(shí)現(xiàn)方式與通常的RAG相同,。。

示例代碼

from qwen_agent.agents import Assistant
from qwen_agent.gui import WebUI

def test():
    bot = Assistant(llm={'model''qwen-plus'})
    messages = [{'role''user''content': [{'text''介紹圖一'}, {'file''https:///pdf/1706.03762.pdf'}]}]
    for rsp in bot.run(messages):
        print(rsp)


def app_gui():
    # Define the agent
    bot = Assistant(llm={'model''qwen-plus'},
                    name='Assistant',
                    description='使用RAG檢索并回答,,支持文件類型:PDF/Word/PPT/TXT/HTML,。')
    chatbot_config = {
        'prompt.suggestions': [
            {
                'text''介紹圖一'
            },
            {
                'text''第二章第一句話是什么?'
            },
        ]
    }
    WebUI(bot, chatbot_config=chatbot_config).run()

if __name__ == '__main__':
    # test()
    app_gui()

實(shí)踐案例

假設(shè)我們有一個(gè)包含100萬(wàn)字的維基百科語(yǔ)料庫(kù),,其中包含了大量關(guān)于歷史,、科學(xué)、文化等方面的知識(shí)?,F(xiàn)在,,用戶想要查詢 愛(ài)因斯坦在1905年發(fā)表了什么重要的理論?用英語(yǔ)回答

傳統(tǒng)的向量檢索方法:

  1. 將整個(gè)維基百科語(yǔ)料庫(kù)轉(zhuǎn)換為向量表示,,并存儲(chǔ)在向量數(shù)據(jù)庫(kù)中,。
  2. 將用戶查詢轉(zhuǎn)換為向量,并在向量數(shù)據(jù)庫(kù)中進(jìn)行相似度檢索。
  3. 返回與用戶查詢向量最相似的文本塊,。

由于維基百科語(yǔ)料庫(kù)包含了大量關(guān)于愛(ài)因斯坦的信息,,傳統(tǒng)的向量檢索方法很可能會(huì)返回很多與用戶查詢不直接相關(guān)的文本塊,例如愛(ài)因斯坦的生平介紹,、其他科學(xué)家的理論等等,,導(dǎo)致檢索精度下降。

Qwen-Agent的關(guān)鍵字檢索方法:

  1. 將維基百科語(yǔ)料庫(kù)切分為多個(gè)小的文本塊,,每個(gè)文本塊包含512字,。
  2. 將用戶問(wèn)題通過(guò)LLM轉(zhuǎn)換為檢索關(guān)鍵字,例如“愛(ài)因斯坦”,、“1905年”,、“理論”。并區(qū)分檢索信息與指令
{
'信息': ['愛(ài)因斯坦在1905年發(fā)表了什么重要的理論'], 
'指令': ['用英文回復(fù)']

  1. 基于檢索信息(愛(ài)因斯坦在1905年發(fā)表了什么重要的理論),,并行過(guò)濾所有分塊,,查詢相關(guān)性,并抽取相關(guān)語(yǔ)句,。
  2. 基于檢索關(guān)鍵字(“愛(ài)因斯坦”,、“1905年”、“理論”)檢索分塊,。
  3. 將匹配到的文本塊輸入到Qwen模型中,,模型會(huì)根據(jù)這些文本塊的內(nèi)容推理出答案:“愛(ài)因斯坦在1905年發(fā)表了狹義相對(duì)論?!?/section>

通過(guò)這種方式,,Qwen-Agent可以更精準(zhǔn)地定位到與用戶查詢相關(guān)的文本塊,避免了無(wú)關(guān)信息的干擾,,提高了檢索效率和答案的準(zhǔn)確性,。

檢索之前先做推理,多跳問(wèn)題又快又準(zhǔn)

在基于文檔的問(wèn)題回答中,,一個(gè)典型的挑戰(zhàn)是多跳推理,。多跳推理是指需要結(jié)合多個(gè)文檔的信息才能回答用戶問(wèn)題的情況。例如,,用戶可能會(huì)問(wèn)“《紅樓夢(mèng)》的作者是誰(shuí)的粉絲,?”,要回答這個(gè)問(wèn)題,,就需要先找到《紅樓夢(mèng)》的作者是曹雪芹,,然后找到曹雪芹是哪個(gè)朝代的人,最后才能找到答案,。

什么是多跳推理

多跳推理是指在回答一個(gè)問(wèn)題時(shí),,需要跨越多個(gè)不同的文本塊或信息源,,逐步推理得到最終答案。這種方法能夠提供更準(zhǔn)確和全面的回答,,但也增加了計(jì)算復(fù)雜度,。

多跳推理的實(shí)現(xiàn)步驟

  1. 初步推理:首先將用戶問(wèn)題轉(zhuǎn)化分解為逐級(jí)遞進(jìn)的子問(wèn)題。
  2. 子問(wèn)題檢索:調(diào)用上述RAG的能力,,進(jìn)行問(wèn)題檢索與回答,。
  3. 多跳推理:逐步在推理鏈上進(jìn)行推理,得到最終答案,。
圖片

實(shí)踐案例

例如,,考慮回答問(wèn)題:“與第五交響曲創(chuàng)作于同一世紀(jì)的交通工具是什么?

  1. 首先將問(wèn)題轉(zhuǎn)化為子問(wèn)題“貝多芬的第五交響曲是在哪個(gè)世紀(jì)創(chuàng)作的,?“
  2. 通過(guò)RAG獲取答案為:19世紀(jì)
  3. 提出新的子問(wèn)題:“19世紀(jì)期間發(fā)明了什么交通工具,?“
  4. 通過(guò)RAG獲取答案為:自行車
  5. 最后推理出與第五交響曲創(chuàng)作于同一世紀(jì)的交通工具是自行車。

以用促訓(xùn),,Agent智能反哺模型

官方實(shí)驗(yàn)結(jié)果表明,4k-智能體在處理長(zhǎng)上下文方面的表現(xiàn)優(yōu)于32k-模型,。這種分塊閱讀所有上下文的方式,,使得Agent能夠克服原生模型在長(zhǎng)上下文訓(xùn)練上的不足。而Agent智能在使用過(guò)程中生產(chǎn)的數(shù)據(jù),,則能迭代用于后續(xù)長(zhǎng)文本上下文的進(jìn)一步微調(diào),。

圖片

智能反哺模型的實(shí)現(xiàn)步驟

  1. 智能體訓(xùn)練:通過(guò)與用戶交互,訓(xùn)練智能體,,使其能夠處理復(fù)雜的上下文推理任務(wù),。
  2. 數(shù)據(jù)合成:利用智能體生成的數(shù)據(jù),構(gòu)建新的訓(xùn)練數(shù)據(jù)集,。
  3. 模型微調(diào):使用新生成的數(shù)據(jù)集對(duì)模型進(jìn)行微調(diào),,提高模型在長(zhǎng)上下文任務(wù)中的表現(xiàn)。

總結(jié)

通過(guò)本文的探討,,我們了解到Qwen-Agent如何通過(guò)智能體擴(kuò)展模型的上下文記憶,,以及如何利用這些智能體來(lái)提升模型的性能。這不僅為AI技術(shù)的發(fā)展提供了新的思路,,也為我們?cè)谔幚泶笠?guī)模文本數(shù)據(jù)時(shí)提供了有效的工具,。希望這篇文章能為大家在實(shí)際應(yīng)用中提供一些啟發(fā)和幫助。


以上就是本文的全部?jī)?nèi)容,,希望能夠幫助新手程序員更好地理解Qwen-Agent的工作原理,,并激發(fā)大家對(duì)AI技術(shù)更深層次的探索和思考。如果你對(duì)本文有任何疑問(wèn)或建議,,歡迎在評(píng)論區(qū)留言,,我們一起討論。

PSAI小智術(shù)交流群(技術(shù)交流、摸魚(yú),、白嫖課程為主)又不定時(shí)開(kāi)放了,,感興趣的朋友,可以在下方公號(hào)內(nèi)回復(fù):666,,即可進(jìn)入,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多