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。
API | Task | Model Wrapper | Configuration | Some Supported Models |
---|---|---|---|---|
OpenAI API | Chat | OpenAIChatWrapper | guidance template | gpt-4o, gpt-4, gpt-3.5-turbo, ... |
Embedding | OpenAIEmbeddingWrapper | guidance template | text-embedding-ada-002, ... | |
DALL·E | OpenAIDALLEWrapper | guidance template | dall-e-2, dall-e-3 | |
DashScope API | Chat | DashScopeChatWrapper | guidance template | qwen-plus, qwen-max, ... |
Image Synthesis | DashScopeImageSynthesisWrapper | guidance template | wanx-v1 | |
Text Embedding | DashScopeTextEmbeddingWrapper | guidance template | text-embedding-v1, text-embedding-v2, ... | |
Multimodal | DashScopeMultiModalWrapper | guidance template | qwen-vl-max, qwen-vl-chat-v1, qwen-audio-chat | |
Gemini API | Chat | GeminiChatWrapper | guidance template | gemini-pro, ... |
Embedding | GeminiEmbeddingWrapper | guidance template | models/embedding-001, ... | |
ZhipuAI API | Chat | ZhipuAIChatWrapper | guidance template | glm-4, ... |
Embedding | ZhipuAIEmbeddingWrapper | guidance template | embedding-2, ... | |
ollama | Chat | OllamaChatWrapper | guidance template | llama3, llama2, Mistral, ... |
Embedding | OllamaEmbeddingWrapper | guidance template | llama2, Mistral, ... | |
Generation | OllamaGenerationWrapper | guidance template | llama2, Mistral, ... | |
LiteLLM API | Chat | LiteLLMChatWrapper | guidance template | models supported by litellm... |
Post Request based API | - | PostAPIModelWrapper | guidance 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内置的DialogAgent
和UserAgent
对象.
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),包含两个必要字段name
和content
,以及一个可选字段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 提供了一个易于使用的运行时用户界面,能够在前端显示多模态输出,包括文本、图像、音频和视频。
参考我们的教程了解更多细节。
2、使用方法
-
模型
- 在AgentScope中使用Llama3
-
对话
- 基础对话
- 带有@功能的自主对话
- 智能体自组织的对话
- 兼容LangChain的基础对话
- 与ReAct智能体对话
- 通过对话查询SQL信息
- 与RAG智能体对话
- 与gpt-4o模型对话
- 与SoftWare Engineering智能体对话
- 自定义工具函数
- Mixture of Agents算法
- 流式对话
-
游戏
- 五子棋
- 狼人杀
-
分布式
- 分布式对话
- 分布式辩论
- 分布式并行优化
- 分布式大规模仿真
Agentscope的案例应用
持续更新中……