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 可以试一试!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

100:ReconFusion: 3D Reconstruction with Diffusion Priors

简介 官网 少样本重建必然导致nerf失败,论文提出使用diffusion模型来解决这一问题。从上图不难看出,论文一步步提升视角数量,逐步与Zip-NeRF对比。 实现流程 Diffusion Model for Novel View Synthesis 给定一组输入图像 x o b s { x i…

【C++初阶】七、内存管理(C/C++内存分布、C++内存管理方式、operator new / delete 函数、定位new表达式)

相关代码gitee自取: C语言学习日记: 加油努力 (gitee.com) 接上期: 【C初阶】六、类和对象(初始化列表、static成员、友元、内部类)-CSDN博客 目录 一 . C/C内存分布 C/C中程序内存区域划分: 二 . C内存管理方式 …

docker的基本管理和概念

docker是什么? docker是开源的应用容器引擎。基于go语言开发的。运行在Linux系统中的开源的轻量级的“虚拟机”。 docker的容器技术可以在一台主机上轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器 docker的宿主机是linux系统。集装箱可以理解为相互…

CTF竞赛密码学题目解析

CTF(Capture The Flag)竞赛是一个有趣的挑战。密码学是CTF竞赛中的核心元素之一,通常涉及解密、破译密码、理解加密算法等技能。以下是30个题目及答案,新入行的可以看看鸭。 题目及答案 1. Caesar Cipher 描述:给出一…

Qt入门教程100篇(已完结)

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「CSDN学院」:传送门 😈「本文的内容」:Qt基础教程 😈「动动你的小手」:点赞👍收藏⭐️评论&…

如何使用DC电源模块进行快速原型开发

如何使用DC电源模块进行快速原型开发 BOSHIDA DC电源模块是一种用于转换电源电压的电子元件,它可以把输入的直流电压转换为不同的输出电压,让我们可以在无需改变设备硬件的情况下,实现电压的升降。它广泛应用于不同的电子设备中,…

【总结】机器学习中的15种分类算法

目录 一、机器学习中的分类算法 1.1 基础分类算法 1.2 集成分类算法 1.3 其它分类算法: 二、各种机器学习分类算法的优缺点 分类算法也称为模式识别,是一种机器学习算法,其主要目的是从数据中发现规律并将数据分成不同的类别。分类算法通…

Get职场新知识:做分析,用大数据分析工具

为什么企业每天累积那么多的数据,也做数据分析,但最后决策还是靠经验?很大程度上是因为这些数据都被以不同的指标和存储方式放在各自的系统中,这就导致了数据的分析口径和标准不一致,无法在同一个分析软件上做综合分析…

快速删掉文件夹里重复或者相似的图片

需求:快速删掉文件夹里重复或者相似的图片 一.软件推荐 1.电脑重复资源查找器 免费,简单好操作,在各种图像格式间比较内容,内置高速比较算法,灵活的扫描源:驱动器、文件夹、文件及类型,结果可…

在网络应用中配置和使用静态SOCKS5代理

在网络应用中配置和使用静态SOCKS5代理可以帮助保护用户的隐私和安全,同时提高网络连接的速度和稳定性。下面将介绍如何在网络应用中配置和使用静态SOCKS5代理。 一、了解静态SOCKS5代理 静态SOCKS5代理是指使用静态IP地址和端口的SOCKS5代理服务器。这种代理服务…

Python基础之print函数详解

文章目录 1、print语法格式2、sep可选关键字参数3、file可选关键字参数4、end可选关键字参数5、flush可选关键字参数6\. print 不换行Python字符串格式化符号:格式化操作符辅助指令:关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书…

金士顿u盘写保护解决

1、已经尝试 改注册表、使用命令行无用,无法格式化。 2、有效方法 使用ChipGenius查看u盘信息 我的主控型号就是IS918M_GA - F/W 13008SE39_4G6002 下载对应主控型号的量产工具 网友提供的下载网址:https://modou.lanzoul.com/b036ysufc,密…