Skip to content

Latest commit

 

History

History
429 lines (315 loc) · 29.1 KB

README_ZH.md

File metadata and controls

429 lines (315 loc) · 29.1 KB

English | 中文

AgentScope

agentscope-logo

更简单地构建基于LLM的多智能体应用。

  • 如果您觉得我们的工作对您有帮助,请引用我们的论文

  • 访问 agentscope.io,通过拖拽方式构建多智能体应用。

  • 欢迎加入我们的社区
Discord 钉钉群

新闻

  • new[2024-09-06] AgentScope v0.1.0 版本已上线

  • new[2024-09-03] AgentScope 已更新浏览器控制模块,利用 vision 模型实现智能体对浏览器的控制。请参考样例

Web_broswing_demo.mp4
agentscope-logo agentscope-logo
  • new[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推理引擎),DashScopeGemini 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”!


什么是AgentScope?

AgentScope是一个创新的多智能体开发平台,旨在赋予开发人员使用大模型轻松构建多智能体应用的能力。

  • 🤝 高易用: AgentScope专为开发人员设计,提供了丰富的组件, 全面的文档和广泛的兼容性。同时,AgentScope Workstation提供了在线拖拉拽编程和在线小助手(copilot)功能,帮助开发者迅速上手!

  • 高鲁棒:支持自定义的容错控制和重试机制,以提高应用程序的稳定性。

  • 🚀 分布式:支持以中心化的方式构建分布式多智能体应用程序。

支持的模型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...
Yi API Chat YiChatWrapper guidance
template
yi-large, yi-medium, ...
Post Request based API - PostAPIModelWrapper guidance
template
-

支持的本地模型部署

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

支持的服务

  • 网络搜索
  • 数据查询
  • 数据检索
  • 代码执行
  • 文件操作
  • 文本处理
  • 多模态生成
  • 维基百科搜索
  • TripAdvisor搜索
  • 浏览器控制

样例应用

更多模型API、服务和示例即将推出!

安装

AgentScope需要Python 3.9或更高版本。

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

从源码安装

  • 以编辑模式安装AgentScope:
# 从github拉取源代码
git clone https://github.com/modelscope/agentscope.git
# 以编辑模式安装包
cd agentscope
pip install -e .

使用pip

  • 从pip安装的AgentScope
pip install agentscope

额外依赖

为了支持不同的部署场景,AgentScope提供了若干个可选的依赖项。 完整的可选依赖项列表请参考tutorial 以分布式模式为例,可以使用以下命令安装AgentScope:

On Windows

# From source
pip install -e .[distribute]
# From pypi
pip install agentscope[distribute]

On Mac & Linux

# From source
pip install -e .\[distribute\]
# From pypi
pip install agentscope\[distribute\]

快速开始

配置

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 Msg

x = 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

教程

License

AgentScope根据Apache License 2.0发布。

贡献

欢迎参与到AgentScope的构建中!

我们提供了一个带有额外 pre-commit 钩子以执行检查的开发者版本,与官方版本相比:

# 对于windows
pip install -e .[dev]
# 对于mac
pip install -e .\[dev\]
# 安装pre-commit钩子
pre-commit install

请参阅我们的贡献指南了解更多细节。

发表

如果您觉得我们的工作对您的研究或应用有帮助,请引用如下论文

  1. AgentScope: A Flexible yet Robust Multi-Agent Platform

    @article{agentscope,
        author  = {Dawei Gao and
                   Zitao Li and
                   Xuchen Pan and
                   Weirui Kuang and
                   Zhijian Ma and
                   Bingchen Qian and
                   Fei Wei and
                   Wenhao Zhang and
                   Yuexiang Xie and
                   Daoyuan Chen and
                   Liuyi Yao and
                   Hongyi Peng and
                   Ze Yu Zhang and
                   Lin Zhu and
                   Chen Cheng and
                   Hongzhu Shi and
                   Yaliang Li and
                   Bolin Ding and
                   Jingren Zhou}
        title   = {AgentScope: A Flexible yet Robust Multi-Agent Platform},
        journal = {CoRR},
        volume  = {abs/2402.14034},
        year    = {2024},
    }
    
  2. On the Design and Analysis of LLM-Based Algorithms

    @article{llm_based_algorithms,
        author  = {Yanxi Chen and
                   Yaliang Li and
                   Bolin Ding and
                   Jingren Zhou},
        title   = {On the Design and Analysis of LLM-Based Algorithms},
        journal = {CoRR},
        volume  = {abs/2407.14788},
        year    = {2024},
    }
    
  3. Very Large-Scale Multi-Agent Simulation in AgentScope

    @article{agentscope_simulation,
        author  = {Xuchen Pan and
                   Dawei Gao and
                   Yuexiang Xie and
                   Zhewei Wei and
                   Yaliang Li and
                   Bolin Ding and
                   Ji{-}Rong Wen and
                   Jingren Zhou},
        title   = {Very Large-Scale Multi-Agent Simulation in AgentScope},
        journal = {CoRR},
        volume  = {abs/2407.17789},
        year    = {2024},
    }