【AI Agent系列】【阿里AgentScope框架】0. 快速上手:AgentScope框架简介与你的第一个AgentScope程序

简介: 【AI Agent系列】【阿里AgentScope框架】0. 快速上手:AgentScope框架简介与你的第一个AgentScope程序
  • 大家好,我是 同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:


这是我们学习的第四款智能体框架了。

前面我们学习了 AutoGPT、MetaGPT、LangGraph 等智能体应用开发框架,各有优缺点。今天我们开始学习AgentScope这一款多智能体开发框架。在AI快速发展的现在,多上手体验一下各个框架,更能加深对AI大模型应用开发中各种知识的深入理解。AI界大佬吴恩达也督促大家今年关注 AI Agent 工作流的发展和应用。所以,卷起来吧,多看看,多用用,没坏处。

0. AgentScope简介

AgentScope是阿里开源的一款全新的多智能体协同的Multi-Agent应用框架,旨在帮助开发者更轻松地构建基于大语言模型的多智能体应用程序。它具有以下特点:

  1. 易用性:AgentScope注重易用性,为开发者提供了简洁明了的编程模式,丰富的语法工具和内置资源,使得编程多智能体应用程序变得更加轻松愉快。
  2. 鲁棒性:AgentScope集成了全面的服务级重试机制和规则性修正工具,以处理LLMs响应中的明显格式问题。此外,AgentScope还提供了可定制的容错配置,使开发者能够通过参数来自定义容错机制。
  3. 支持多模态数据:AgentScope支持多模态数据在对话呈现、消息传输和数据存储中的应用,通过统一的基于URL的属性来解耦多模态数据的传输和存储,从而最大限度地减少了消息在每个智能体内的复杂性。
  4. 分布式部署:针对分布式应用程序带来的额外编程难题和系统设计挑战,AgentScope也提供了支持。

1. 安装

因为我的目的是学习,不光要会用,有时候还会深入源码去看一下实现原理,所以我这里使用源码安装。其它安装方法请参考官方安装教程

# 从GitHub上拉取AgentScope的源代码
git clone https://github.com/modelscope/agentscope.git
cd agentscope
# 针对本地化的multi-agent应用
pip install -e .

如果报错 Timeout:

使用以下命令重新安装:

pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 快速上手 - 快速跑通第一个Demo

2.1 完整代码

老规矩,先上完整代码,大家复制粘贴,先跑通再说。

import agentscope
import os
openai_api_key = os.getenv('OPENAI_API_KEY')
# 一次性初始化多个模型配置
openai_cfg_dict = {
    "config_name": "openai_cfg", # A unique name for the model config.
    "model_type": "openai",         # Choose from "openai", "openai_dall_e", or "openai_embedding".
    "model_name": "gpt-3.5-turbo",   # The model identifier used in the OpenAI API, such as "gpt-3.5-turbo", "gpt-4", or "text-embedding-ada-002".
    "api_key": openai_api_key,       # Your OpenAI API key. If unset, the environment variable OPENAI_API_KEY is used.
}
agentscope.init(model_configs=[openai_cfg_dict])
from agentscope.agents import DialogAgent, UserAgent
# 创建一个对话智能体和一个用户智能体
dialogAgent = DialogAgent(name="assistant", model_config_name="openai_cfg", sys_prompt="You are a helpful ai assistant")
userAgent = UserAgent()
x = None
x = dialogAgent(x)
print("diaglogAgent: \n", x)
x = userAgent(x)
print("userAgent: \n", x)

运行结果:

2.2 代码详解

下面来解释下上面的代码。

2.2.1 配置

像其它框架一样,我们也需要配置我们使用的大模型以及API Key等参数。AgentScope的配置方式是创建一个字典类型的变量,在变量里填入相应值,然后通过初始化接口传递给AgentScope:

openai_cfg_dict = {
    "config_name": "openai_cfg", # A unique name for the model config.
    "model_type": "openai",         # Choose from "openai", "openai_dall_e", or "openai_embedding".
    "model_name": "gpt-3.5-turbo",   # The model identifier used in the OpenAI API, such as "gpt-3.5-turbo", "gpt-4", or "text-embedding-ada-002".
    "api_key": openai_api_key,       # Your OpenAI API key. If unset, the environment variable OPENAI_API_KEY is used.
}
agentscope.init(model_configs=[openai_cfg_dict])

注意看下配置的Key值:config_name, model_type, model_nameapi_key。通过 agentscope.init 函数设置进去。

关于配置的疑问

没搞懂的是,这里的配置是必须传入?还是只要环境变量中存在了 OPENAI_API_KEY 值就可以不用传 “api_key” ?

  • 为什么有这个疑问:因为我并没有找到在哪里设置 代理地址,而我的API Key不是原生的OpenAI Key,必须通过代理才能使用OpenAI的接口。但是以上代码在没有传递代理地址的情况下竟然运行成功了,那么,是不是只要环境变量中有了,不传递这个config也行?
  • 我将api_key去掉,也运行成功了…
  • 不传模型名字倒是不行,会报错:

2.2.2 创建智能体

接下来,代码中创建了两个智能体:一个对话智能体DialogAgent 和 一个用户智能体 userAgent

# 创建一个对话智能体和一个用户智能体
dialogAgent = DialogAgent(name="assistant", model_config_name="openai_cfg", sys_prompt="You are a helpful ai assistant")
userAgent = UserAgent()

2.2.3 运行智能体

然后是运行智能体:

x = None
x = dialogAgent(x)
print("diaglogAgent: \n", x)
x = userAgent(x)
print("userAgent: \n", x)

从运行效果来看,对话智能体就是与用户进行对话。用户智能体,其实就是接收用户的输入,让人参与其中进行干预。

好了,本文就先写到这里,主要是带大家认识一下AgentScope,并搭建好运行环境。运行了一个简单的示例,让大家对AgentScope的使用有一个简单的认识,没有深入。后面我们随着更多案例的实践,会逐渐深入探索AgentScope的原理及应用。

如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~


  • 大家好,我是 同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:

相关文章
|
2天前
|
敏捷开发 机器学习/深度学习 数据采集
端到端优化所有能力,字节跳动提出强化学习LLM Agent框架AGILE
【10月更文挑战第23天】字节跳动研究团队提出AGILE框架,通过强化学习优化大型语言模型(LLM)在复杂对话任务中的表现。该框架将LLM作为核心决策模块,结合记忆、工具和专家咨询模块,实现智能体的自我进化。实验结果显示,AGILE智能体在ProductQA和MedMCQA数据集上优于GPT-4。
22 4
|
10天前
|
人工智能 安全 决策智能
OpenAI推出实验性“Swarm”框架,引发关于AI驱动自动化的争论
OpenAI推出实验性“Swarm”框架,引发关于AI驱动自动化的争论
|
4天前
|
人工智能 API 决策智能
swarm Agent框架入门指南:构建与编排多智能体系统的利器 | AI应用开发
Swarm是OpenAI在2024年10月12日宣布开源的一个实验性质的多智能体编排框架。其核心目标是让智能体之间的协调和执行变得更轻量级、更容易控制和测试。Swarm框架的主要特性包括轻量化、易于使用和高度可定制性,非常适合处理大量独立的功能和指令。【10月更文挑战第15天】
46 6
|
25天前
|
Python 机器学习/深度学习 人工智能
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
【10月更文挑战第1天】本文通过构建一个简单的强化学习环境,演示了如何创建和训练智能体以完成特定任务。我们使用Python、OpenAI Gym和PyTorch搭建了一个基础的智能体,使其学会在CartPole-v1环境中保持杆子不倒。文中详细介绍了环境设置、神经网络构建及训练过程。此实战案例有助于理解智能体的工作原理及基本训练方法,为更复杂应用奠定基础。首先需安装必要库: ```bash pip install gym torch ``` 接着定义环境并与之交互,实现智能体的训练。通过多个回合的试错学习,智能体逐步优化其策略。这一过程虽从基础做起,但为后续研究提供了良好起点。
82 4
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
|
8天前
|
传感器 弹性计算 人工智能
简介Multi-Agent
多智能体系统(MAS)是由多个自主智能体组成的计算系统,各智能体能独立决策、协同作业,无需中央控制。其特点包括自主性、分布性、交互性、异构性和适应性,广泛应用于人工智能、经济、交通、医疗和环保等领域,展现出巨大潜力。然而,MAS也面临通信开销、一致性、安全性和可扩展性等挑战。
30 3
|
13天前
|
人工智能 开发框架 Java
总计 30 万奖金,Spring AI Alibaba 应用框架挑战赛开赛
Spring AI Alibaba 应用框架挑战赛邀请广大开发者参与开源项目的共建,助力项目快速发展,掌握 AI 应用开发模式。大赛分为《支持 Spring AI Alibaba 应用可视化调试与追踪本地工具》和《基于 Flow 的 AI 编排机制设计与实现》两个赛道,总计 30 万奖金。
|
14天前
|
人工智能 Java API
阿里云开源 AI 应用开发框架:Spring AI Alibaba
近期,阿里云重磅发布了首款面向 Java 开发者的开源 AI 应用开发框架:Spring AI Alibaba(项目 Github 仓库地址:alibaba/spring-ai-alibaba),Spring AI Alibaba 项目基于 Spring AI 构建,是阿里云通义系列模型及服务在 Java AI 应用开发领域的最佳实践,提供高层次的 AI API 抽象与云原生基础设施集成方案,帮助开发者快速构建 AI 应用。本文将详细介绍 Spring AI Alibaba 的核心特性,并通过「智能机票助手」的示例直观的展示 Spring AI Alibaba 开发 AI 应用的便利性。示例源
|
19天前
|
人工智能 Java API
阿里云开源 AI 应用开发框架:Spring AI Alibaba
阿里云开源 Spring AI Alibaba,旨在帮助 Java 开发者快速构建 AI 应用,共同构建物理新世界。
|
21天前
|
机器学习/深度学习 人工智能 算法
打造你的超级Agent智能体——在虚拟迷宫中智斗未知,解锁AI进化之谜的惊心动魄之旅!
【10月更文挑战第5天】本文介绍了一个基于强化学习的Agent智能体项目实战,通过控制Agent在迷宫环境中找到出口来完成特定任务。文章详细描述了环境定义、Agent行为及Q-learning算法的实现。使用Python和OpenAI Gym框架搭建迷宫环境,并通过训练得到的Q-table测试Agent表现。此项目展示了构建智能体的基本要素,适合初学者理解Agent概念及其实现方法。
61 9
|
21天前
|
数据采集 人工智能 自然语言处理
Python实时查询股票API的FinanceAgent框架构建股票(美股/A股/港股)AI Agent
金融领域Finance AI Agents方面的工作,发现很多行业需求和用户输入的 query都是和查询股价/行情/指数/财报汇总/金融理财建议相关。如果需要准确的 金融实时数据就不能只依赖LLM 来生成了。常规的方案包括 RAG (包括调用API )再把对应数据和prompt 一起拼接送给大模型来做文本生成。稳定的一些商业机构的金融数据API基本都是收费的,如果是以科研和demo性质有一些开放爬虫API可以使用。这里主要介绍一下 FinanceAgent,github地址 https://github.com/AI-Hub-Admin/FinanceAgent

热门文章

最新文章