开心六月综合激情婷婷|欧美精品成人动漫二区|国产中文字幕综合色|亚洲人在线成视频

    1. 
      
        <b id="zqfy3"><legend id="zqfy3"><fieldset id="zqfy3"></fieldset></legend></b>
          <ul id="zqfy3"></ul>
          <blockquote id="zqfy3"><strong id="zqfy3"><dfn id="zqfy3"></dfn></strong></blockquote>
          <blockquote id="zqfy3"><legend id="zqfy3"></legend></blockquote>
          打開APP
          userphoto
          未登錄

          開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

          開通VIP
          解鎖大模型智能體核心技術(shù),10行代碼輕松構(gòu)建專屬AI助手!

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

          最近一段時(shí)間,社區(qū)涌現(xiàn)出了一批以 ReAct 為代表的智能體的研究工作,也涌現(xiàn)出一批以 Langchain 為代表的工具箱來將外部工具和 GPT-3.5/4 鏈接到一起,構(gòu)建以 LLM 為核心的應(yīng)用。然而,在實(shí)際使用過程中,Langchain 因?yàn)槠浯a框架的復(fù)雜度高,難以 debug 等缺點(diǎn)也引起了不少社區(qū)用戶的吐槽。整個(gè)社區(qū)也缺乏一個(gè)簡潔易拓展的智能體代碼庫用于上手和學(xué)習(xí)。為了簡化大語言模型接入智能體系統(tǒng)的流程,提升智能體系統(tǒng)的易用性和拓展性,上海人工智能實(shí)驗(yàn)室研發(fā)了 Lagent 智能體框架,以助力社區(qū)用戶高效地研發(fā)和拓展 Language Agents。

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

          https://github.com/InternLM/lagent

          (歡迎使用,文末點(diǎn)擊閱讀原文可直達(dá))

          Lagent:簡潔的智能體框架

          特性

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

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

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

          靈活支持多種大語言模型

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

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

          P.S. LMDeploy 也是一個(gè)功能豐富的寶藏庫,后續(xù)也會(huì)有專門的介紹,敬請(qǐng)關(guān)注!

          支持豐富的工具類型

          Lagent 可以支持豐富的工具類型,包括目前已經(jīng)支持的搜索和 Code Interpreter。用戶需要支持新的工具,只需要基于 BaseAction 實(shí)現(xiàn)傳參調(diào)用的邏輯,同時(shí)對(duì)這個(gè)工具進(jìn)行命名和說明即可。

          小彩蛋:我們?cè)趦?nèi)部也支持了豐富的 AI 工具和 API,敬請(qǐng)大家關(guān)注后續(xù)的發(fā)布內(nèi)容。

          設(shè)計(jì)

          目前,Lagent 中實(shí)現(xiàn)的智能體采用了如下圖所示的設(shè)計(jì)。LLM 會(huì)接受外界的輸入,基于 Agent 實(shí)現(xiàn)的某種機(jī)制進(jìn)行推理、規(guī)劃和行動(dòng),在行動(dòng)階段調(diào)用 Action Executor(動(dòng)作執(zhí)行器)去執(zhí)行具體的 action,并返回行動(dòng)結(jié)果。

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

          如何快速創(chuàng)建一個(gè)智能體

          10 行代碼構(gòu)建 ReAct Agent

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

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


          一鍵啟動(dòng) Web Demo

          使用如下代碼即可啟動(dòng) ReAct 的 Web Demo 并和它對(duì)話,如下便是一個(gè)用代碼解決數(shù)學(xué)題的例子:

          ReAct 黑箱揭秘

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

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

          • <System>: 一個(gè)整體驅(qū)動(dòng)器,提供全局的流程設(shè)定和函數(shù)列表,并且可以根據(jù)請(qǐng)求調(diào)用函數(shù)。

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

          • <Bot>: 經(jīng)過指令微調(diào)的語言模型,它具備預(yù)訓(xùn)練時(shí)形成的各方面基礎(chǔ)能力,在指令微調(diào)階段后能夠根據(jù)用戶輸入推理并“執(zhí)行計(jì)劃”,并根據(jù)用戶輸入與函數(shù)調(diào)用結(jié)果進(jìn)行結(jié)果整合。

          系統(tǒng)設(shè)定

          在和 ReAct Agent 啟動(dòng)對(duì)話的初始階段, 我們基于 ReAct 的邏輯規(guī)則將可調(diào)用的函數(shù)/工具以及函數(shù)的信息和使用方式放入系統(tǒng)指令中,讓語言模型在每段對(duì)話的開始階段都接收到系統(tǒng)指令,如下所示:

          用戶輸入

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

          模型思考

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

          執(zhí)行代碼

          基于規(guī)則,我們會(huì)從 <Bot> 的回復(fù)中提取 ThoughtAction,和 Argument,基于 Action 字段調(diào)用 PythonExecutor 并執(zhí)行 Argument 中的代碼,計(jì)算得到 255。

          整合結(jié)果

          此時(shí)會(huì)將計(jì)算結(jié)果和約定格式的文本拼接起來向模型提供調(diào)用結(jié)果,并將之前的對(duì)話歷史都拼接起來送給模型,然后模型會(huì)基于完整信息給出回復(fù):

          總結(jié)

          在這篇文章中,我們了解了 Lagent 的簡潔設(shè)計(jì)以及如何基于 Lagent 快速構(gòu)建一個(gè)智能體,也了解了以 ReAct 為代表的大語言模型智能體的技術(shù)奧秘。最近社區(qū)里也涌現(xiàn)出了一批新的智能體的相關(guān)工作,小編已經(jīng)深感學(xué)不動(dòng)啦~

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

          • InternLM 書生·浦語大模型,包含面向?qū)嵱脠鼍暗?70 億參數(shù)基礎(chǔ)模型與對(duì)話模型 (InternLM-7B)和 200 億參數(shù)基礎(chǔ)模型與對(duì)話模型 (InternLM-20B)

            https://github.com/InternLM/InternLM

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

            https://github.com/InternLM/lmdeploy

          • OpenCompass 面向大模型評(píng)測的一站式、全方位評(píng)測平臺(tái),包含超過 70 個(gè)評(píng)測集、40 萬評(píng)測題目。通過全自動(dòng)分布式評(píng)測,保障開源模型性能可高效復(fù)現(xiàn)。

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

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

            https://github.com/InternLM/xtuner

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

          多模態(tài),原來竟有這么多花樣?2023-10-17
          大模型時(shí)代通用檢測趨勢解讀及MMDetection未來展望2023-10-16
          上海人工智能實(shí)驗(yàn)室大模型方向招聘 | 《offer來了》第3期2023-10-13

          本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
          打開APP,閱讀全文并永久保存 查看更多類似文章
          猜你喜歡
          類似文章
          20B量級(jí)大模型性能媲美Llama2-70B!完全開源,從基座到工具全安排明白了
          商湯科技AGI這些年:上半場「基建」,下半場「變現(xiàn)」
          ChatGPT大模型如何做科學(xué)研究? CMU提出《大模型智能體系統(tǒng)》,高推理展現(xiàn)出大型語言模型的新興自主科學(xué)研究能力
          AGI之MFM:《多模態(tài)基礎(chǔ)模型:從專家到通用助手》翻譯與解讀之與LLM協(xié)同工作的多模態(tài)智能體、結(jié)論和研究趨勢
          熱點(diǎn)解讀:大模型的突現(xiàn)能力和ChatGPT引爆的范式轉(zhuǎn)變
          又一個(gè) AI 自動(dòng)寫作神器,開源了!
          更多類似文章 >>
          生活服務(wù)
          分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
          綁定賬號(hào)成功
          后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
          如果VIP功能使用有故障,
          可點(diǎn)擊這里聯(lián)系客服!

          聯(lián)系客服