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

分享

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

 西北望msm66g9f 2023-10-18 發(fā)布于湖南

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

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

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

https://github.com/InternLM/lagent

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

Lagent:簡潔的智能體框架

特性

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

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

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

圖片

靈活支持多種大語言模型

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 也是一個功能豐富的寶藏庫,,后續(xù)也會有專門的介紹,敬請關(guān)注,!

支持豐富的工具類型

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

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

設(shè)計

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

圖片

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

圖片

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

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

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

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

圖片


一鍵啟動 Web Demo

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

圖片
圖片

ReAct 黑箱揭秘

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

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

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

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

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

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

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

圖片

用戶輸入

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

圖片

模型思考

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

圖片

執(zhí)行代碼

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

整合結(jié)果

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

圖片

總結(jié)

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

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

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

    https://github.com/InternLM/InternLM

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

    https://github.com/InternLM/lmdeploy

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

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

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

    https://github.com/InternLM/xtuner

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

多模態(tài),,原來竟有這么多花樣,?

2023-10-17

圖片

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

2023-10-16

圖片

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

2023-10-13

圖片

圖片

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多