前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >在Jetson上玩转大模型Day17:NanoLLM开发平台(6):AI Agent功能

在Jetson上玩转大模型Day17:NanoLLM开发平台(6):AI Agent功能

作者头像
GPUS Lady
发布2024-12-19 15:44:11
发布2024-12-19 15:44:11
14100
代码可运行
举报
文章被收录于专栏:GPUS开发者GPUS开发者
运行总次数:0
代码可运行

虽然大语音模型为AI开启新的纪元,但是我们只能将这些模型视为AI能量的供应源,与我们所需要的流程类应用还有段差距,因为再厉害的大语音模型也都有各自擅长的部分,要搭建一个完整的应用,需要更多配套的组件共同完成任务。

例如我们前面搭建的Llamaspeak语音智能助手项目中,并非单纯地选择不同大语言模型来作为智能核心就完成了,我们还需要结合很多其他配套技术,包括音频输入/输出的websocket或usb/i2s技术、数据传输技术(gRPC)、语音识别技术(RIVA ASR)、语音合成技术(Piper TTS)等等。

下图就是技术Llamaspeak项目的简单示意图:

实时上,在这里的流程中有很多环节是固定的,主要会有所不同的部分是在于以下部分:

  1. 模型选型:按照前面项目的案例,如果我们选择能支持多模态的模型,那么这个应用就具备多模态识别的能力,否则就只能提供单纯的的对话功能;
  2. ASR/TTS语音种类;
  3. 视频采样的相关参数;
  4. 基于Web应用所需的传输协议。

于是我们就可以将这里所需要的技术,打包成一个可执行单元,利用参数传递的方式赋予其不同的能力,这就是个agent的雏形。

前面提过NanoLLM目前已经提供ChatAgent、VoiceChat、WebChat、VideoStream与VideoQuery这5种基本agents。虽然我们在Llamaspeak项目中只调用nano_llm.agents.web_chat这个agent,但是里面直接包含VoiceChat agent的功能,因此就能直接使用浏览器指定的麦克风与音箱进行对话。

一个基于大语言模型的agent基础结构如下:

可以看得出要建构一个agent也不是一件简单的事情,这也不是本文的所要传递的重点。关于AI agent的知识与技术,网上有非常丰富的内容,请大家自行搜索与学习。

本文的重点,是要教大家使用NanoLLM所提供的AgentStudio工具(如下图所示),能够非常轻松快速地用系统所创建好的agents与plugins,透过对agent的位置拖拉、创建交互关系、调整参数等动作,就能非常有弹性地搭建出符合自己需求的AI应用。

现在我们先开始启动这个AgentStudio界面,然后再介绍这个应用内置的相关资源。请执行以下指令进入NanoLLM容器:

代码语言:javascript
代码运行次数:0
复制
$ jetson-containers run --env HUGGINGFACE_TOKEN=$HUGGINGFACE_TOKEN \ $(autotag nano_llm)

因为后续的应用还需要从HuggingFace下载相关模型与资源,因此这里还是得将您从HuggingFace所获取的秘钥填进去,否则会出现错误。

接着执行以下指令启动AgentStudio:

代码语言:javascript
代码运行次数:0
复制
$ python3 -m nano_llm.studio

启动服务之后,可以在自己电脑中的浏览器,输入“https://<IP_OF_ORIN>:8050”,就会看到以下界面:

我们可以看到右上方还会显示运行设备(这里使用Jetson Orin)的计算资源使用状况。在“NodeEditor”旁边出现的“LLM”、“Speech”、“Audio”、“Video”、“Database”“Tools”等选项,分别提供以下所列的功能插件:

由于内容相当繁多,这里没有足够篇幅进行详细说明,有兴趣的朋友可以自行到https://github.com/dusty-nv/NanoLLM/tree/main/nano_llm/plugins,里面列出所有插件的源码,请自行参阅:

现在我们先载入一个本应用已经预先建立好的“VILA3B V4L2”项目,以VIAL 3B多模态大语言模型为基础、描述摄像头所看到景象的应用。请点击右上角“Agent”->“Load”->“VILA3B V4L2”之后,界面不会马上做出反应,因为后台还在做相应的处理或下载。此时可以看到右上角计算资源的使用状况正在跳动。

载入后的执行画面如下(已经过人为调整):

左上角是对agents的流程安排,从VideoSource -> RateLimit -> AutoPrompt -> VILA1.5-3b -> VideoOverlay -> VideoOutput。右上方显示的是VILA1.5-3b对摄像头的描述,左下方是摄像头的输出,右下方显示执行终端的信息。

现在试试看将流程中的“AutoPrompt”删除(点击Agent框,左上角会出现“X”符号),再从“LLM”下拉选项中选择“User Prompt”,替代原本的位置与连接关系。

现在到右边对话框里输入“请用中文回答”,就会看到上面的回应也变成中文信息了,但是左下方都视频输出部分会出现乱码。

如何?这个AgentStudio工具很好用吧!对于绝大部分不知道该怎么创建Agent的人来说,真的非常方便,目前NanoLLM已经提供非常充足的Agent插件,当然也允许开发人员自行创建有针对性的插件,去完成特定的工作。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档