Modelscope Agent初体验与思考

背景:LLM → \to Agent

ChatGPT为代表的大语言模型就不用过多的介绍了,ChatGPT很强大,但是也有做不到的东西。

例如:

  1. 实时查询问题:实时的天气,地理位置,最新新闻报道,现实世界正在发生和刚结束的信息等
  2. 不能产生动作:你只能获得语言的回复,而不能让它执行动作。当然也有类似的工作(Reac、AutoGPT)
  3. 无法访问专有信息源。模型无法访问专有信息,例如公司数据库中的客户名册或在线游戏的状态。
  4. 缺乏推理能力。某些推理超出了神经方法的能力范围,需要专门的推理过程。我们在上面看到了算术推理的经典例子。 GPT-3 和 Jurassic-1 在 2 位加法上表现良好,令人印象深刻,但在 4 位加法上自信地给出了无意义的答案。随着训练时间的增加、更好的数据和更大的模型,LLM 的性能将会提高,但不会达到 20 世纪 70 年代 HP 计算器的鲁棒性。而数学推理只是冰山一角。
  5. 微调成本问题。微调和服务多个大型模型是不切实际的。我们也无法针对训练中未涵盖的新任务进一步调整经过多任务训练的 LLM ;由于灾难性遗忘,添加新任务需要对整个任务集进行重新训练。考虑到训练此类模型的成本,这显然是不可行的。

那么Agent又是什么?

agent用来调用外部 API 来获取模型权重中缺失的额外信息(通常在预训练后很难更改),包括当前信息、代码执行能力、对专有信息源的访问等。

对于agent的定义

将 Agents 定义为LLM + memory + planning skills + tool use,即大语言模型、记忆、任务规划、工具使用的集合。

在这里插入图片描述


生成式Agent

这个方向非常的火,效果也非常的惊人。例如大名鼎鼎的斯坦福小镇项目:

在这里插入图片描述
在这里插入图片描述

  • 核心构建原理如下图:
    在这里插入图片描述
  • 生成Agent的设计将 LLM 与记忆、规划和反射机制相结合,使代理能够根据过去的经验进行行为,并与其他代理进行交互。

更多关于LLM-Agent可以阅读一下这篇blog:LLM-Based Agent


Agent调用流程

结合背景调研,我简单的猜想一下魔塔Agent构建的实际流程:

  1. 用户意图识别:在每个用户语句之后,模型需要确定是否需要 API 调用来访问外部服务,这需要能够了解其知识的边界或是否需要外部操作。
  2. 找到合适的API:每次特定 API 调用之前都需要进行 API 搜索。当执行API搜索时,模型应该将用户的需求总结为几个关键词。 API搜索引擎将查找API池中最符合的API。
  3. API调用:API调用后回复完成API调用并获得返回结果

关于API:

最简单实用的就是实时信息的API调用。可以找一些常见的API,例如Google/百度的引擎、日历查询、航班信息查询、酒店预订和生活联系紧密的API等。

关于模型:

其实对于调用的模型除了LLM之外还可以涉及其他的一些小的AI模型,例如专门做ImageCaption、SpeechRecognition、Translate和DocumentQA的模型。将它们视为API接口,LLM不需要了解它们的模型细节或端到端联合训练。他们只需要知道它们的目的和输入/输出格式,然后就可以使用这些人工智能模型来增强特定方面的能力。


实战练习

  • Agent创建专用链接:https://modelscope.cn/studios/modelscope/AgentFabric/summary

  • 聊天框框中输入你想构建的Agent,描述功能需求,可以多轮对话追加详细信息

例如:构建一个天气查询的Agent:Angel

在这里插入图片描述

在这里插入图片描述

  • 完善一下Agent的详细需求,看一下最后收集的关于Agent的详细功能描述

在这里插入图片描述


理想中的效果:

在这里插入图片描述


试一下调用Agent的效果

在这里插入图片描述
在这里插入图片描述


  • 天气API调用很稳定,还得是高德!
  • 图像生成API就有些差强人意,可能是给出的Prompt信息有点少,生成不出来上面理想的效果,各位Prompt Engineers 可以试一试!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/235565.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于ssm保险业务管理系统设计与实现论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本保险业务管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

手动搭建koa+ts项目框架(基础)

文章目录 前言一、TS配置文件1、全局安装TypeScript2、项目根目录创建Typescript配置文件 二、项目初始化配置文件(package.json)1、初始化配置文件2、安装依赖 三、开启简单的服务API入口文件新增脚本 总结如有启发,可点赞收藏哟~ 前言 为什…

外贸开发信主题行写法?邮件的主题怎么写?

如何写高点击率的外贸开发信主题行?推荐的电子邮件主题行有哪些? 外贸开发信如何设计一个引人注目的主题行,成为了外贸从业者需要深入思考的问题。在本文中,蜂邮将探讨外贸开发信主题行的写作方法,以确保您的邮件能够…

Stable Diffusion这样的文本-图像生成模型有记忆吗?

Stable Diffusion扩散模型作为生成高质量图像的先进模型,却伴随着对训练数据的记忆化倾向,引发了隐私和安全性的担忧。AIGCer分享一篇分析该现象的文章,通过两个案例研究深入挖掘了文本复制现象,旨在为未来生成模型的改进提供重要…

调试备忘录-NTC电阻的使用(教程 + 代码)

软件环境:CodeWarrior 11.1 硬件环境:NXP S9KEAZ64A 传感器参数:NTC热敏电阻(R25 50k,B25-50 3950) 写在前面 最近做小项目需要用到NTC电阻,因此写一个调试备忘录记录下。 什么是NTC电阻? NTC热敏电阻就是负温度…

【CiteSpace】引文可视化分析软件CiteSpace下载与安装

CiteSpace 译“引文空间”,是一款着眼于分析科学分析中蕴含的潜在知识,是在科学计量学、数据可视化背景下逐渐发展起来的引文可视化分析软件。由于是通过可视化的手段来呈现科学知识的结构、规律和分布情况,因此也将通过此类方法分析得到的可…

JMS(Java Message Service)使用指南

介绍 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。它是一…

1631. 最小体力消耗路径

一、题目 1、题目描述 你准备参加一场远足活动。给你一个二维 rows x columns 的地图 heights ,其中 heights[row][col] 表示格子 (row, col) 的高度。一开始你在最左上角的格子 (0, 0) ,且你希望去最右下角的格子 (rows-1, columns-1) (注意…

分布式事务Seata(别名Seta)(持续学习中)

1.为什么学习他? 当一台机器的时候,只需要本地事务回滚就好了,还有MonogoDB最好不要放敏感数据,特别是旧的版本,没有事务功能(ACID), 分布式事务,也是属于多线程问题,就是把多台机器变成一台机器(他拥有更多线程,但是也要考虑网络问题),redis在一台机器是单线程的,但是多台机器…

Playground v2:a new leap in creativity

https://huggingface.co/playgroundai/playground-v2-1024px-aesthetichttps://huggingface.co/playgroundai/playground-v2-1024px-aestheticPlayground v2:超越SDXL的模型来了 - 知乎Playground团队刚刚发布了新的文生图模型Playground v2,它是基于SDX…

基于MyBatis二级缓存深入装饰器模式

视频地址 学习文档 文章目录 一、示意代码二、装饰器三、经典案例—MyBatis二级缓存1、Cache 标准定义2、PerpetualCache 基础实现3、增强实现3-1、ScheduledCache3-2、LruCache 先来说说我对装饰器理解:当你有一个基础功能的代码,但你想在不改变原来代…

案例027:基于微信小程序的校园二手平台的设计与实现

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

【Docker】进阶之路:(二)Docker简介

【Docker】进阶之路:(二)Docker简介 什么是 DockerDocker 由来与发展历程Docker的架构与组成Docker容器生态容器核心技术容器规范容器平台技术 为什么使用DockerDocker的应用场景 什么是 Docker 简单地讲,Docker就是一个应用容器…

面向对象类的设计和实现

实验目标 本实验任务是实现 Java 类的设计和实现,实验任务是根据每年新生的报到流程, 设计一 个学生管理系统,实现学生的注册和报到功能。设置类的基本属性,实现 getter 和 setter 方 法,通过 set 方法设置…

C++新经典模板与泛型编程:SFINAE特性的信息萃取

用成员函数重载实现is_default_constructible 首先介绍一个C标准库提供的可变参类模板std::is_default_constructible。这个类模板的主要功能是判断一个类的对象是否能被默认构造(所谓默认构造,就是构造一个类对象时,不需要给该类的构造函数…

三层交换原理

三层交换机出现的背景 早期的网络中一般使用二层交换机来搭建局域网,而不同局域网之间的网络互通由路由器来完成。那时的网络流量,局域网内部的流量占了绝大部分,而网络间的通信访问量比较少,使用少量路由器已经足够应付了。 但…

六级高频词汇3

目录 单词 参考链接 单词 400. nonsense n. 胡说,冒失的行动 401. nuclear a. 核子的,核能的 402. nucleus n. 核 403. retail n. /v. /ad. 零售 404. retain vt. 保留,保持 405. restrict vt. 限制,约束 406. sponsor n. …

GRE与顺丰圆通快递盒子

1. DNS污染 随想: 在输入一串网址后,会发生如下变化如果你在系统中配置了 Hosts 文件,那么电脑会先查询 Hosts 文件如果 Hosts 里面没有这个别名,就通过域名服务器查询域名服务器回应了,那么你的电脑就可以根据域名服…

使用阿里巴巴同步工具DataX实现Mysql与ElasticSearch数据同步

一、Linux环境要求 二、准备工作 2.1 Linux安装jdk 2.2 linux安装python 2.3 下载DataX: 三、DataX压缩包导入,解压缩 四、编写同步Job 五、执行Job 六、定时更新 6.1 创建定时任务 6.2 提交定时任务 6.3 查看定时任务 七、增量更新思路 一、Linux环境要…

KubeSphere应用【二】Docker安装

一、Docker安装 1.下载Docker安装包 【地址】Index of linux/static/stable/x86_64/ 2.上传至服务器 # 解压文件 tar -xvf docker-20.10.10.tgz# 将docker 目录中的所有文件复制至/usr/bin/目录下 cp docker/* /usr/bin 3.配置docker.service文件 vim /usr/lib/systemd/sy…