LLMs之Agent:Agentscope的简介、安装和使用方法、案例应用之详细攻略

LLMs之Agent:Agentscope的简介、安装和使用方法、案例应用之详细攻略

目录

Agentscope的简介

1、更新的日志

2、支持的模型API

3、支持的服务

Agentscope的安装和使用方法

1、安装

支持的本地模型部署

从源码安装

使用pip

配置

创建Agent

构造对话

AgentScope前端

2、使用方法

模型

对话

游戏

分布式

Agentscope的案例应用


Agentscope的简介

2024年2月27日,发布Agentscope,这是一款更简单地构建基于LLM的多智能体应用。

AgentScope是一个创新的多智能体开发平台,旨在赋予开发人员使用大模型轻松构建多智能体应用的能力。
>> 高易用: AgentScope专为开发人员设计,提供了丰富的组件, 全面的文档和广泛的兼容性。同时,AgentScope Workstation提供了在线拖拉拽编程和在线小助手(copilot)功能,帮助开发者迅速上手!
>> 高鲁棒:支持自定义的容错控制和重试机制,以提高应用程序的稳定性。
>> 分布式:支持以中心化的方式构建分布式多智能体应用程序。

GitHub地址:GitHub - modelscope/agentscope: Start building LLM-empowered multi-agent applications in an easier way.

官网地址:AgentScope WorkStation Login Page

1、更新的日志

  • [2024-07-18] AgentScope 已支持模型流式输出。请参考我们的 教程 和 流式对话样例
  • [2024-07-15] AgentScope 中添加了 Mixture of Agents 算法。使用样例请参考 MoA 示例。
  • [2024-06-14] 新的提示调优(Prompt tuning)模块已经上线 AgentScope,用以帮助开发者生成和优化智能体的 system prompt。更多的细节和使用样例请参考 AgentScope 教程!

  • [2024-06-11] RAG功能现在已经整合进 AgentScope 中! 大家可以根据 简要介绍AgentScope中的RAG ,让自己的agent用上外部知识!

  • [2024-06-09] AgentScope v0.0.5 已经更新!在这个新版本中,我们开源了 AgentScope Workstation (在线版本的网址是agentscope.io)!

  • [2024-05-24] 我们很高兴地宣布 AgentScope Workstation 相关功能即将开源。我们的网站服务暂时下线。在线服务会很快升级重新上线,敬请期待...

  • [2024-05-15] 用于解析模型格式化输出的解析器模块已经上线 AgentScope!更轻松的构建多智能体应用,使用方法请参考教程。与此同时,DictDialogAgent 类和 狼人杀游戏 样例也已经同步更新!

  • [2024-05-14] 目前 AgentScope 正在进行 AgentScope Workstation & Copilot 用户体验反馈活动,需要您宝贵的意见来帮助我们改善 AgentScope 的拖拽式多智能体应用开发与 Copilot 体验。您的每一个反馈都十分宝贵,请点击 链接 参与问卷,感谢您的支持!

  • [2024-05-14] AgentScope 现已支持 gpt-4o 等 OpenAI Vision 模型! 模型配置请见链接。同时,新的样例“与gpt-4o模型对话”已上线!

  • [2024-04-30] 我们现在发布了AgentScope v0.0.4版本!

  • [2024-04-27] AgentScope Workstation上线了! 欢迎使用 Workstation 体验如何在拖拉拽编程平台 零代码搭建多智体应用,也欢迎大家通过copilot查询AgentScope各种小知识!

  • [2024-04-19] AgentScope现已经支持Llama3!我们提供了面向CPU推理和GPU推理的脚本和模型配置,一键式开启Llama3的探索,在我们的样例中尝试Llama3吧!

  • [2024-04-06] 我们现在发布了AgentScope v0.0.3版本!

  • [2024-04-06] 新的样例“五子棋”,“与ReAct智能体对话”,“与RAG智能体对话”,“分布式并行优化”上线了!

  • [2024-03-19] 我们现在发布了AgentScope v0.0.2版本!在这个新版本中,AgentScope支持了ollama(本地CPU推理引擎),DashScope和Gemini APIs。

  • [2024-03-19] 新的样例“带有@功能的自主对话”和“兼容LangChain的基础对话”上线了!

  • [2024-03-19] AgentScope的中文教程上线了!

  • [2024-02-27] 我们现在发布了AgentScope v0.0.1版本!现在,AgentScope也可以在PyPI上下载

  • [2024-02-14] 我们在arXiv上发布了论文“AgentScope: A Flexible yet Robust Multi-Agent Platform”!

2、支持的模型API

AgentScope提供了一系列ModelWrapper来支持本地模型服务和第三方模型API。

APITaskModel WrapperConfigurationSome Supported Models
OpenAI APIChatOpenAIChatWrapperguidance
template
gpt-4o, gpt-4, gpt-3.5-turbo, ...
EmbeddingOpenAIEmbeddingWrapperguidance
template
text-embedding-ada-002, ...
DALL·EOpenAIDALLEWrapperguidance
template
dall-e-2, dall-e-3
DashScope APIChatDashScopeChatWrapperguidance
template
qwen-plus, qwen-max, ...
Image SynthesisDashScopeImageSynthesisWrapperguidance
template
wanx-v1
Text EmbeddingDashScopeTextEmbeddingWrapperguidance
template
text-embedding-v1, text-embedding-v2, ...
MultimodalDashScopeMultiModalWrapperguidance
template
qwen-vl-max, qwen-vl-chat-v1, qwen-audio-chat
Gemini APIChatGeminiChatWrapperguidance
template
gemini-pro, ...
EmbeddingGeminiEmbeddingWrapperguidance
template
models/embedding-001, ...
ZhipuAI APIChatZhipuAIChatWrapperguidance
template
glm-4, ...
EmbeddingZhipuAIEmbeddingWrapperguidance
template
embedding-2, ...
ollamaChatOllamaChatWrapperguidance
template
llama3, llama2, Mistral, ...
EmbeddingOllamaEmbeddingWrapperguidance
template
llama2, Mistral, ...
GenerationOllamaGenerationWrapperguidance
template
llama2, Mistral, ...
LiteLLM APIChatLiteLLMChatWrapperguidance
template
models supported by litellm...
Post Request based API-PostAPIModelWrapperguidance
template
-

3、支持的服务

网络搜索

数据查询

数据检索

代码执行

文件操作

文本处理

多模态生成

Agentscope的安装和使用方法

1、安装

支持的本地模型部署

AgentScope支持使用以下库快速部署本地模型服务。

  • ollama (CPU inference)
  • Flask + Transformers
  • Flask + ModelScope
  • FastChat
  • vllm

AgentScope需要Python 3.9或更高版本。

注意:该项目目前正在积极开发中,建议从源码安装AgentScope。

从源码安装

  • 以编辑模式安装AgentScope:
# 从github拉取源代码
git clone https://github.com/modelscope/agentscope.git
# 以编辑模式安装包
cd agentscope
pip install -e .
  • 构建分布式多智能体应用需要按照以下方式安装:
# 在windows上
pip install -e .[distribute]
# 在mac上
pip install -e .\[distribute\]
 

使用pip

  • 从pip安装的AgentScope
pip install agentscope --pre

配置

AgentScope中,模型的部署和调用是通过ModelWrapper实现解耦的。

为了使用这些ModelWrapper, 您需要准备如下的模型配置文件:

model_config = {# 模型配置的名称,以及使用的模型wrapper"config_name": "{your_config_name}",          # 模型配置的名称"model_type": "{model_type}",                 # 模型wrapper的类型# 用以初始化模型wrapper的详细参数# ...
}

以OpenAI Chat API为例,模型配置如下:

openai_model_config = {"config_name": "my_openai_config",             # 模型配置的名称"model_type": "openai_chat",                   # 模型wrapper的类型# 用以初始化模型wrapper的详细参数"model_name": "gpt-4",                         # OpenAI API中的模型名"api_key": "xxx",                              # OpenAI API的API密钥。如果未设置,将使用环境变量OPENAI_API_KEY。"organization": "xxx",                         # OpenAI API的组织。如果未设置,将使用环境变量OPENAI_ORGANIZATION。
}

关于部署本地模型服务和准备模型配置的更多细节,请参阅我们的教程。

创建Agent

创建AgentScope内置的DialogAgentUserAgent对象.

from agentscope.agents import DialogAgent, UserAgent
import agentscope# 加载模型配置
agentscope.init(model_configs="./model_configs.json")# 创建对话Agent和用户Agent
dialog_agent = DialogAgent(name="assistant",model_config_name="my_openai_config")
user_agent = UserAgent()

构造对话

在AgentScope中,Message是Agent之间的桥梁,它是一个python字典(dict),包含两个必要字段namecontent,以及一个可选字段url用于本地文件(图片、视频或音频)或网络链接。

from agentscope.message import Msgx = Msg(name="Alice", content="Hi!")
x = Msg("Bob", "What about this picture I took?", url="/path/to/picture.jpg")

使用以下代码开始两个Agent(dialog_agent和user_agent)之间的对话:

x = None
while True:x = dialog_agent(x)x = user_agent(x)if x.content == "exit": # 用户输入"exit"退出对话break

AgentScope前端

AgentScope 提供了一个易于使用的运行时用户界面,能够在前端显示多模态输出,包括文本、图像、音频和视频。

参考我们的教程了解更多细节。

agentscope-logo

2、使用方法

  • 模型

    • 在AgentScope中使用Llama3
  • 对话

    • 基础对话
    • 带有@功能的自主对话
    • 智能体自组织的对话
    • 兼容LangChain的基础对话
    • 与ReAct智能体对话
    • 通过对话查询SQL信息
    • 与RAG智能体对话
    • 与gpt-4o模型对话
    • 与SoftWare Engineering智能体对话
    • 自定义工具函数
    • Mixture of Agents算法
    • 流式对话
  • 游戏

    • 五子棋
    • 狼人杀
  • 分布式

    • 分布式对话
    • 分布式辩论
    • 分布式并行优化
    • 分布式大规模仿真

Agentscope的案例应用

持续更新中……

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

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

相关文章

Go语言编程 学习笔记整理 第2章 顺序编程 后半部分

1.流程控制 1.1 条件语句 if a < 5 { return 0 } else { return 1 } 注意&#xff1a;在有返回值的函数中&#xff0c;不允许将“最终的”return语句包含在if...else...结构中&#xff0c; 否则会编译失败&#xff01;&#xff01;&#xff01; func example(x int) i…

基于 HTML+ECharts 实现智慧景区数据可视化大屏(含源码)

构建智慧景区数据可视化大屏&#xff1a;基于 HTML 和 ECharts 的实现 随着旅游业的蓬勃发展&#xff0c;智慧景区的概念逐渐深入人心。通过数据可视化&#xff0c;景区管理者可以实时监控游客流量、设施使用情况以及环境状况&#xff0c;从而提升游客体验和管理效率。本文将详…

线性代数:向量组与向量组等价

向量组概述 向量组是由若干个同维数的行向量或列向量组成的集合。这些向量可以是二维的、三维的&#xff0c;甚至是更高维度的。在数学和物理学的许多领域中&#xff0c;向量组扮演着至关重要的角色&#xff0c;特别是在线性代数、矩阵论、以及工程学中。 例如&#xff0c;一…

《梦醒蝶飞:释放Excel函数与公式的力量》18.2 数据可视化技术

第18章&#xff1a;创建图表和数据可视化 18.2 数据可视化技术 数据可视化是将数据转化为图形和图表的过程&#xff0c;以便更好地理解和分析数据。有效的数据可视化可以揭示数据的模式、趋势和异常&#xff0c;从而帮助做出更明智的决策。以下将介绍几种常用的数据可视化技术…

3dsMax 设置近平面削减,靠近模型之后看不到模型,看很小的模型放大看不到

3dsMax 设置近平面削减&#xff0c;靠近模型之后看不到模型&#xff0c;看很小的模型放大看不 问题展示 解决办法_1 把这两个东西最上面的拖拽到最上面&#xff0c;最下面的拖拽到最下面。 解决办法_2 勾选视口裁剪 把这两个东西最上面的拖拽到最上面&#xff0c;最下面的…

服务器部署环境(docker安装Mysql + Redis + MongoDB)

1. 安装Docker 1、选择要安装的平台 Docker要求CentOS系统的内核版本高于3.10 uname -r #通过 uname -r 命令查看你当前的内核版本官网地址 2. 卸载已安装的Docker, 使用Root权限登录 Centos。确保yum包更新到最新。 sudo yum update如果操作系统没有安装过Docker , 就不需要…

使用Gradle构建编译Spring boot 2.7.x

一、环境准备 JDK 1.8Spring boot 2.7.xGradle 7.5.1 (安装参考&#xff1a;win11安装Gradle)Idea 2023.1 二、源码导入gitee(可选) 按需导入。如果能科学上网&#xff0c;可跳过这一步。 为避免github访问不稳定问题&#xff0c;建议将对应的代码导入到gitee。然后通过git管…

Redis的缓存问题:缓存穿透、缓存击穿和缓存雪崩

目录 一、缓存穿透 1、问题描述 2、解决方案 二、缓存击穿 1、问题描述 2、解决方案 三、缓存雪崩 1、问题描述 2、解决方案 3、雪崩案例 一、缓存穿透 1、问题描述 缓存穿透指的是⼤量请求的 key根本不存在于缓存中&#xff0c;每次针对此key的请求从缓存获取不到…

【element ui】input输入控件绑定粘贴事件,从 Excel 复制的数据粘贴到输入框(el-input)时自动转换为逗号分隔的数据

目录 1、需求2、实现思路:3、控件绑定粘贴事件事件修饰符说明: 4、代码实现&#x1f680;写在最后 1、需求 在 Vue 2 和 Element UI 中&#xff0c;要实现从 Excel 复制空格分隔的数据&#xff0c;并在粘贴到输入框&#xff08;el-input&#xff09;时自动转换为逗号分隔的数据…

推荐系统三十六式学习笔记:工程篇.常见架构24|典型的信息流架构是什么样的

目录 整体框架数据模型1.内容即Activity2.关系即连接 动态发布信息流排序数据管道总结 从今天起&#xff0c;我们不再单独介绍推荐算法的原理&#xff0c;而是开始进入一个新的模块-工程篇。 在工程实践的部分中&#xff0c;我首先介绍的内容是当今最热门的信息流架构。 信息…

ElasticSearch(四)— 数据检索与查询

一、基本查询语法 所有的 REST 搜索请求使用_search 接口&#xff0c;既可以是 GET 请求&#xff0c;也可以是 POST请求&#xff0c;也可以通过在搜索 URL 中指定索引来限制范围。 _search 接口有两种请求方法&#xff0c;一种是基于 URI 的请求方式&#xff0c;另一种是基于…

C#初级——基础语法

前言 学习Unity游戏编程开发会使用到两种语言&#xff0c;一种是C#&#xff0c;另一种是Javascript。有学习C语言基础和想学unity游戏开发的萌新一般都推荐学习C#基础编程&#xff0c;以此来快速上手unity的学习。 本次学习使用到的工具为&#xff1a;VS2022 环境安装 首先&a…

IDEA搭建Vue开发环境(安装Node.js、安装vue-cli、创建项目、编译项目、启动项目、yarn启动项目、npm和yarn命令行命令简单使用)

目录 1. 安装Node.js2. 安装vue-cli构建工具3. 使用vue-cli创建项目4. 启动项目5. IDEA启动vue6. 在IDEA编译vue项目7. 用yarn启动vue项目8. npm和yarn命令行命令简单使用8.1 npm8.2 yarn 1. 安装Node.js Node.js基于Google的V8引擎&#xff0c;形成了一个Javascript的运行环境…

CFPRF:一种用于音频时间伪造检测和定位的框架

关键词&#xff1a;音频伪造检测、时间伪造定位、差异特征感知学习 最近&#xff0c;一种新型的音频部分伪造形式对音频取证提出了挑战&#xff0c;这要求采取先进的对策来检测长时间音频中的微妙伪造操作。然而&#xff0c;现有的对策仍然服务于分类目的&#xff0c;未能对部分…

手机空号过滤批量查询的意义及方法

手机空号过滤批量查询是现代营销和通信管理中常用的技术手段&#xff0c;旨在通过批量处理手机号码&#xff0c;筛选出活跃号码和空号等无效号码&#xff0c;以提高营销效率和减少不必要的通信成本。以下是关于手机空号过滤批量查询的详细解答&#xff1a; 一、手机空号过滤批…

C++客户端Qt开发——Qt窗口(工具栏)

2.工具栏 使用QToolBar表示工具栏对象&#xff0c;一个窗口可以有多个工具栏&#xff0c;也可以没有&#xff0c;工具栏往往也可以手动移动位置 ①设置工具栏 #include "mainwindow.h" #include "ui_mainwindow.h" #include<QToolBar> #include<…

61.列表重绘

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;易道云信息技术研究院 上一个内容&#xff1a;60.分析对比模块找出被注入的模块 以 60.分析对比模块找出被注入的模块 它的代码为基础…

secureCRT同时在所有已打开窗口执行命令、mac-os下使用的SecureCRT版本 以及 SecureCRT一段时间不操作没有响应的问题

一、secureCRT命令行工具一次性同时在所有已打开窗口执行命令 公司的服务器比较多&#xff0c;最近因为opcache&#xff0c;上线发布后&#xff0c;需要重启所有的WEB服务器上的php。目前使用的jenkins发布&#xff0c;不过账号安全问题&#xff0c;给jenkins的账号权限受限不能…

Hype 4 Pro for Mac:专业级HTML5动画制作利器

Hype 4 Pro for Mac是一款专为Mac用户设计的专业级HTML5动画制作软件&#xff0c;它集动画制作、交互设计于一身&#xff0c;为用户提供了一种全新的、高效的动画制作体验。 该软件拥有直观易用的界面和强大的功能&#xff0c;支持多种设计元素&#xff0c;如滚动、旋转、缩放…

DVWA的安装和使用

背景介绍 DVWA是Damn Vulnerable Web Application的缩写&#xff0c;是一个用于安全脆弱性检测的开源Web应用。它旨在为安全专业人员提供一个合法的测试环境&#xff0c;帮助他们测试自己的专业技能和工具&#xff0c;同时也帮助web开发者更好地理解web应用安全防范的过程。DV…