久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    解鎖大模型智能體核心技術,10行代碼輕松構建專屬AI助手!

     西北望msm66g9f 2023-10-18 發布于湖南

    隨著 GPT-3.5 和 GPT-4 的問世,我們體驗到了大語言模型能力的強大,對大語言模型也產生了很多的關注和期待。在使用大語言模型的過程中,我們也發現 LLM 并不是無所不能的。例如,當前的大語言模型并不能很好地處理大數計算、難以及時了解最新的信息資訊、也難以憑借自身能力作出完全準確的長回復。在這種情況下,以插件等形式對大語言模型進行能力拓展逐漸成為了一種有效形式。工具/插件的使用極大地拓寬了大語言模型的能力和應用邊界,此時我們也開始將 LLM 和工具的組合系統稱為“智能體”(又稱 Language Agents)。

    最近一段時間,社區涌現出了一批以 ReAct 為代表的智能體的研究工作,也涌現出一批以 Langchain 為代表的工具箱來將外部工具和 GPT-3.5/4 鏈接到一起,構建以 LLM 為核心的應用。然而,在實際使用過程中,Langchain 因為其代碼框架的復雜度高,難以 debug 等缺點也引起了不少社區用戶的吐槽。整個社區也缺乏一個簡潔易拓展的智能體代碼庫用于上手和學習。為了簡化大語言模型接入智能體系統的流程,提升智能體系統的易用性和拓展性,上海人工智能實驗室研發了 Lagent 智能體框架,以助力社區用戶高效地研發和拓展 Language Agents

    接下來,本文將介紹書生·浦語 智能體框架 Lagent,并通過代碼直觀感受基于 Lagent 快速構建大語言模型智能體的簡潔流程。最后,我們會以 ReAct 為例揭秘 Language Agent 的實現原理。

    https://github.com/InternLM/lagent

    (歡迎使用,文末點擊閱讀原文可直達)

    Lagent:簡潔的智能體框架

    特性

    Lagent 的命名來源于 Language Agents (L-Agent)的縮寫,主要目標是為了高效構建和拓展基于大語言模型的智能體。它有如下三個特點:

    支持豐富、高度可配置的智能體

    Lagent 目前支持了常見的 3 種類型的智能體,如下圖所示,包括了 ReAct、ReWoo 和 AutoGPT。這三種智能體實現了不同的推理、規劃、執行流程與用戶進行交互。在實現過程中,每一個智能體的 prompt 等都是高度可配置的,同時也支持接入各種 Action,因而非常靈活。用戶可以實現一個中文版的 ReAct,也可以針對特定場景去優化prompt,或者接入自己開發的工具。

    圖片

    靈活支持多種大語言模型

    Lagent 支持了閉源模型的 API,例如 GPT-3.5 和 GPT-4。同時接入了 Huggingface Transformers,因此可以使用 Transformers 中的所有開源大語言模型,例如 InternLM,Llama 2 和 Baichuan-chat 等。

    為了提升接入的 LLM 推理效率,Lagent 還支持了 LMDeploy,因此,Lagent 可以借助 LMDeploy 對支持的各類 LLM (例如 InternLM 和 Llama 2)進行高效推理。

    P.S. LMDeploy 也是一個功能豐富的寶藏庫,后續也會有專門的介紹,敬請關注!

    支持豐富的工具類型

    Lagent 可以支持豐富的工具類型,包括目前已經支持的搜索和 Code Interpreter。用戶需要支持新的工具,只需要基于 BaseAction 實現傳參調用的邏輯,同時對這個工具進行命名和說明即可。

    小彩蛋:我們在內部也支持了豐富的 AI 工具和 API,敬請大家關注后續的發布內容。

    設計

    目前,Lagent 中實現的智能體采用了如下圖所示的設計。LLM 會接受外界的輸入,基于 Agent 實現的某種機制進行推理、規劃和行動,在行動階段調用 Action Executor(動作執行器)去執行具體的 action,并返回行動結果。

    圖片

    因此,在實際代碼庫的實現過程中,也有和上圖一一對應的模塊化設計。如下圖所示,在智能體抽象中,我們會實現如 ReAct 等智能體,并在里面實現具體的規劃-執行邏輯。LLM 的調用由語言模型接口提供,支持了 OpenAI、Huggingface Transformers,和 LMdeploy。動作庫除了執行器之外,還有一系列action/工具實現。后續 Lagent 會進一步支持 memory 的使用,如向量數據庫。

    圖片

    如何快速創建一個智能體

    10 行代碼構建 ReAct Agent

    得益于設計的簡潔性,我們只需要不到 10 行代碼,就可以在 Lagent 中基于 Huggingface Transformer 構建一個 ReAct 智能體。

    如下面的代碼所示,前三行代碼分別從 agents/actions/llms 的包中導入需要的智能體/插件/LLM模塊。在這個例子里我們使用 InternLM-Chat 20B 模型,這個模型針對工具調用和 code interpreter 都有一些強化,在 ToolBench 上也有不俗的表現。我們只初始化了 PythonInterpreter ,用來驗證代碼解題的效果。在對每個模塊初始化以后,就可以把他們組合起來初始化 ReAct Agent 并對話。值得注意的是,不管是使用什么 agent,或者使用何種插件,在 lagent 中構建他們的流程和思路都是一致且簡單的,這和 langchain 相比有顯著的優勢。

    圖片


    一鍵啟動 Web Demo

    使用如下代碼即可啟動 ReAct 的 Web Demo 并和它對話,如下便是一個用代碼解決數學題的例子:

    圖片
    圖片

    ReAct 黑箱揭秘

    看了上面的例子,小伙伴們肯定會想了解背后的實現原理,那我們接下來就看一看 ReAct Agent 是如何實現的。下面的例子里,我們也還是使用 InternLM 模型的真實輸出來介紹。

    Language Agent 本質上是以語言的形式,通過約定好的格式不斷地和模型對話,最終完成用戶的需求。在 Lagent 實現的 ReAct 中,有如下三個主要角色:

    • <System>: 一個整體驅動器,提供全局的流程設定和函數列表,并且可以根據請求調用函數。

    • <Human>: 代表用戶,提供用戶輸入。

    • <Bot>: 經過指令微調的語言模型,它具備預訓練時形成的各方面基礎能力,在指令微調階段后能夠根據用戶輸入推理并“執行計劃”,并根據用戶輸入與函數調用結果進行結果整合。

    系統設定

    在和 ReAct Agent 啟動對話的初始階段, 我們基于 ReAct 的邏輯規則將可調用的函數/工具以及函數的信息和使用方式放入系統指令中,讓語言模型在每段對話的開始階段都接收到系統指令,如下所示:

    圖片

    用戶輸入

    然后用戶可以和模型對話,例如,用戶輸入:

    圖片

    模型思考

    根據用戶輸入,語言模型會進行推理,并遵循系統指定的格式一次性產生回復,如下所示,語言模型會見到 <Human> 部分以及前面 <System> 的內容,然后產生回復(即<Bot> 產生的內容)。這里 InternLM-20B 模型按照約定的格式進行了輸出,利用 sympy 寫了一段代碼,直接調用了 summation 函數完成了數列求和(amazing,一開始小編都不知道還有這個函數,以為要直接寫 for loop 了)。

    圖片

    執行代碼

    基于規則,我們會從 <Bot> 的回復中提取 ThoughtAction和 Argument,基于 Action 字段調用 PythonExecutor 并執行 Argument 中的代碼,計算得到 255。

    整合結果

    此時會將計算結果和約定格式的文本拼接起來向模型提供調用結果,并將之前的對話歷史都拼接起來送給模型,然后模型會基于完整信息給出回復:

    圖片

    總結

    在這篇文章中,我們了解了 Lagent 的簡潔設計以及如何基于 Lagent 快速構建一個智能體,也了解了以 ReAct 為代表的大語言模型智能體的技術奧秘。最近社區里也涌現出了一批新的智能體的相關工作,小編已經深感學不動啦~

    最后,也歡迎大家關注 InternLM 的系列開源庫,包括:

    • InternLM 書生·浦語大模型,包含面向實用場景的 70 億參數基礎模型與對話模型 (InternLM-7B)和 200 億參數基礎模型與對話模型 (InternLM-20B)

      https://github.com/InternLM/InternLM

    • LMDeploy 面向大模型部署的推理工具鏈,支持十億到千億參數語言模型的高效推理。推理性能領先開源社區。

      https://github.com/InternLM/lmdeploy

    • OpenCompass 面向大模型評測的一站式、全方位評測平臺,包含超過 70 個評測集、40 萬評測題目。通過全自動分布式評測,保障開源模型性能可高效復現。

      https://github.com/open-compass/opencompass

    • XTuner 大模型輕量級微調框架,支持在消費級顯卡上微調大語言模型,支持多種大語言模型、數據集、和微調算法,支撐用戶根據自身具體需求選擇合適的解決方案。

      https://github.com/InternLM/xtuner

    歡迎掃碼加入 Lagent 微信交流群)

    多模態,原來竟有這么多花樣?

    2023-10-17

    圖片

    大模型時代通用檢測趨勢解讀及MMDetection未來展望

    2023-10-16

    圖片

    上海人工智能實驗室大模型方向招聘 | 《offer來了》第3期

    2023-10-13

    圖片

    圖片

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 国产精品永久免费视频| 同桌上课脱裙子让我帮他自慰| 国产亚洲精品无码不卡| 无码8090精品久久一区| 亚洲男女羞羞无遮挡久久丫| 国产真实伦在线观看视频| 色一情一乱一伦麻豆| 亚洲精品人成网线在播放VA| 无码国产精品久久一区免费| 精品国产成人午夜福利| 国产偷窥熟女高潮精品视频| 亚洲一本二区偷拍精品| 不卡高清AV手机在线观看| 内射一区二区三区四区| 婷婷成人丁香五月综合激情| 亚洲精品一区二区区别| 免费日韩中文字幕高清电影| 亚洲国产精品一二三区| 亚洲乱码日产精品一二三| 色狠狠色噜噜AV一区| 国产成人手机高清在线观看网站| 午夜国产精品福利一二| 肉大捧一进一出免费视频| 国产重口老太和小伙| 久热这里只有精品12| 国产午夜成人无码免费看| 国产盗摄xxxx视频xxxx| 精品久久久久久成人AV| 最新中文乱码字字幕在线| 国产真实乱子伦精品视频| 亚洲人成影院在线观看| 人妻少妇偷人无码视频| 国产免费一区二区视频| 亚洲VA成无码人在线观看天堂| 亚洲精品国模一区二区| 亚洲AV无码专区国产乱码电影| 久久国产福利播放| 国产在线不卡精品网站| 亚洲一区中文字幕人妻| 女人被爽到高潮视频免费国产| 东北女人毛多水多牲交视频|