成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

發(fā)布于 2024-6-12 10:35
瀏覽
0收藏

?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ù)檢索。

百萬(wàn)上下文RAG,Agent還能這么玩-AI.x社區(qū)

  1. 分析用戶指令,提取關(guān)鍵字:通過(guò)LLM對(duì)用戶指令進(jìn)行兩個(gè)方面的預(yù)處理。1.區(qū)分指令信息與非指令信息。2.從查詢的信息部分推導(dǎo)出多語(yǔ)言關(guān)鍵詞

百萬(wàn)上下文RAG,Agent還能這么玩-AI.x社區(qū)

  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://arxiv.org/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',
                    descriptinotallow='使用RAG檢索并回答,支持文件類型:PDF/Word/PPT/TXT/HTML。')
    chatbot_config = {
        'prompt.suggestions': [
            {
                'text': '介紹圖一'
            },
            {
                'text': '第二章第一句話是什么?'
            },
        ]
    }
    WebUI(bot, chatbot_cnotallow=chatbot_config).run()

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

實(shí)踐案例

假設(shè)我們有一個(gè)包含100萬(wàn)字的維基百科語(yǔ)料庫(kù),其中包含了大量關(guān)于歷史、科學(xué)、文化等方面的知識(shí)。現(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ì)論。”

通過(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)行推理,得到最終答案。

百萬(wàn)上下文RAG,Agent還能這么玩-AI.x社區(qū)

實(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)。

百萬(wàn)上下文RAG,Agent還能這么玩-AI.x社區(qū)

智能反哺模型的實(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ā)和幫助。

本文轉(zhuǎn)載自?? AI小智??,作者: AI小智

標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
主站蜘蛛池模板: 日韩有码一区 | 夜夜骑首页 | 国产精品一卡 | 久久精品国产99国产精品 | 特黄毛片 | 波多野结衣精品 | 在线精品一区二区三区 | 国产精品综合网 | 久久成人精品视频 | 欧洲尺码日本国产精品 | 欧美亚洲视频 | 日韩一区二区三区在线观看 | 欧美理伦片在线播放 | 又黑又粗又长的欧美一区 | 夜夜精品浪潮av一区二区三区 | 在线观看黄免费 | 亚洲一区二区三区福利 | 久久国产精品视频观看 | 久久99久久98精品免观看软件 | 亚洲精品乱码久久久久久蜜桃 | 久久成人18免费网站 | 精产国产伦理一二三区 | 中文字幕在线播放第一页 | 国产一区二区三区视频 | 精品国产乱码久久久久久88av | 国产精品久久久久久久久久东京 | 伊人伊成久久人综合网站 | 97超碰人人 | 欧美成人专区 | 亚洲欧美日韩网站 | 色黄视频在线 | 中文字幕日韩欧美一区二区三区 | 亚洲综合无码一区二区 | 香蕉视频一区二区 | 99久久久久久久 | 亚洲综合色视频在线观看 | 中国一级毛片免费 | 久久精品国产久精国产 | 在线小视频 | 天堂网avav| 国产区精品 |