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

百萬上下文RAG,Agent還能這么玩

發布于 2024-6-12 10:35
瀏覽
0收藏

?Qwen-Agent的設計思路雖然與LangChain相似,但其發布幾個的Agent示例卻很有意思。今天本文將深入探討如何使用Qwen-Agent將上下文記憶擴展到百萬量級,讓Agent的智能得到更廣泛的應用。

暴力關鍵字檢索優于向量方案

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

關鍵字檢索的基本原理

關鍵字檢索是一種直接且高效的方法,尤其是在面對大規模文本數據時。通過預先定義的關鍵字,我們可以快速定位到包含這些關鍵字的文本塊。這種方法的優勢在于其速度和簡單性,尤其是在處理大規模數據時。

實現關鍵字檢索的步驟

  1. 預處理文本數據:將大規模文本數據分塊。
  2. 基于LLM判斷相關性:并行處理每個分塊,讓聊天模型評估其與用戶查詢的相關性, 如果相關則輸出相關句子用于后續檢索。

百萬上下文RAG,Agent還能這么玩-AI.x社區

  1. 分析用戶指令,提取關鍵字:通過LLM對用戶指令進行兩個方面的預處理。1.區分指令信息與非指令信息。2.從查詢的信息部分推導出多語言關鍵詞

百萬上下文RAG,Agent還能這么玩-AI.x社區

  1. 最終檢索:運用BM25這一傳統的基于關鍵詞的檢索方法,找出與提取關鍵詞最相關的塊并生成最終答案,這一步驟的實現方式與通常的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()

實踐案例

假設我們有一個包含100萬字的維基百科語料庫,其中包含了大量關于歷史、科學、文化等方面的知識。現在,用戶想要查詢 愛因斯坦在1905年發表了什么重要的理論?用英語回答

傳統的向量檢索方法:

  1. 將整個維基百科語料庫轉換為向量表示,并存儲在向量數據庫中。
  2. 將用戶查詢轉換為向量,并在向量數據庫中進行相似度檢索。
  3. 返回與用戶查詢向量最相似的文本塊。

由于維基百科語料庫包含了大量關于愛因斯坦的信息,傳統的向量檢索方法很可能會返回很多與用戶查詢不直接相關的文本塊,例如愛因斯坦的生平介紹、其他科學家的理論等等,導致檢索精度下降。

Qwen-Agent的關鍵字檢索方法:

  1. 將維基百科語料庫切分為多個小的文本塊,每個文本塊包含512字。
  2. 將用戶問題通過LLM轉換為檢索關鍵字,例如“愛因斯坦”、“1905年”、“理論”。并區分檢索信息與指令

{
"信息": ["愛因斯坦在1905年發表了什么重要的理論"], 
"指令": ["用英文回復"]
}
  1. 基于檢索信息(愛因斯坦在1905年發表了什么重要的理論),并行過濾所有分塊,查詢相關性,并抽取相關語句。
  2. 基于檢索關鍵字(“愛因斯坦”、“1905年”、“理論”)檢索分塊。
  3. 將匹配到的文本塊輸入到Qwen模型中,模型會根據這些文本塊的內容推理出答案:“愛因斯坦在1905年發表了狹義相對論。”

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

檢索之前先做推理,多跳問題又快又準

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

什么是多跳推理

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

多跳推理的實現步驟

  1. 初步推理:首先將用戶問題轉化分解為逐級遞進的子問題。
  2. 子問題檢索:調用上述RAG的能力,進行問題檢索與回答。
  3. 多跳推理:逐步在推理鏈上進行推理,得到最終答案。

百萬上下文RAG,Agent還能這么玩-AI.x社區

實踐案例

例如,考慮回答問題:“與第五交響曲創作于同一世紀的交通工具是什么?

  1. 首先將問題轉化為子問題“貝多芬的第五交響曲是在哪個世紀創作的?“
  2. 通過RAG獲取答案為:19世紀
  3. 提出新的子問題:“19世紀期間發明了什么交通工具?“
  4. 通過RAG獲取答案為:自行車
  5. 最后推理出與第五交響曲創作于同一世紀的交通工具是自行車。

以用促訓,Agent智能反哺模型

官方實驗結果表明,4k-智能體在處理長上下文方面的表現優于32k-模型。這種分塊閱讀所有上下文的方式,使得Agent能夠克服原生模型在長上下文訓練上的不足。而Agent智能在使用過程中生產的數據,則能迭代用于后續長文本上下文的進一步微調。

百萬上下文RAG,Agent還能這么玩-AI.x社區

智能反哺模型的實現步驟

  1. 智能體訓練:通過與用戶交互,訓練智能體,使其能夠處理復雜的上下文推理任務。
  2. 數據合成:利用智能體生成的數據,構建新的訓練數據集。
  3. 模型微調:使用新生成的數據集對模型進行微調,提高模型在長上下文任務中的表現。

總結

通過本文的探討,我們了解到Qwen-Agent如何通過智能體擴展模型的上下文記憶,以及如何利用這些智能體來提升模型的性能。這不僅為AI技術的發展提供了新的思路,也為我們在處理大規模文本數據時提供了有效的工具。希望這篇文章能為大家在實際應用中提供一些啟發和幫助。

本文轉載自?? AI小智??,作者: AI小智

標簽
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 黄色在线网站 | 色婷婷综合在线观看 | 婷婷丁香在线视频 | 狠狠干网站| 国产综合精品一区二区三区 | 四虎永久免费影院 | 黄色毛片在线观看 | 国产福利网站 | 亚洲狠狠| 国产免费一区二区三区免费视频 | 免费看黄色小视频 | 久久99蜜桃综合影院免费观看 | 97高清国语自产拍 | caoporn视频| 欧美福利视频一区 | 福利片在线看 | 欧美日韩国产一区二区三区 | 欧美亚洲国语精品一区二区 | 亚洲一区二区三区免费在线观看 | 在线成人免费视频 | 久久精品毛片 | 亚洲精彩免费视频 | 国产做爰 | 伊人激情网 | 91精品国产91久久久久久最新 | 天堂影院av | 91精品久久久 | 91精品国产91久久久久久最新 | 国产91在线 | 亚洲 | 久久亚洲国产精品 | 亚洲深夜福利 | 国产一区二区免费 | 日韩二区 | 91看国产 | av在线电影网站 | 男人的天堂在线视频 | 国产极品车模吞精高潮呻吟 | 成人国产免费视频 | 亚洲九色 | 欧美精品久久久久久久久久 | 亚洲精品综合 |