赞
踩
AgentScope是一款全新的Multi-Agent框架,专为应用开发者打造,旨在提供高易用、高可靠的编程体验!
从github拉取源代码
- git clone https://github.com/modelscope/agentscope.git
- 以编辑模式安装包
- cd AgentScope
- pip install -e .
准备Model Configs
AgentScope支持以下模型API服务:
OpenAI API Configs
对于OpenAI API,您需要准备一个包含以下字段的模型配置字典:
- {
- "config_name": "{配置名称}", # 用于识别配置的名称
- "model_type": "openai" | "openai_dall_e" | "openai_embedding",
- "model_name": "{模型名称,例如gpt-4}", # openai API中的模型
- # 可选
- "api_key": "xxx", # OpenAI API的API密钥。如果未设置,将使用环境变量OPENAI_API_KEY。
- "organization": "xxx", # OpenAI API的组织。如果未设置,将使用环境变量OPENAI_ORGANIZATION。
- }
DashScope API Config
对于 DashScope API,你需要准备一个包含如下字段的配置字典:
- {
- "config_name": "{配置名称}", # 用于识别配置的名称
- "model_type": "dashscope_chat" | "dashscope_text_embedding" | "dashscope_image_synthesis",
- "model_name": "{模型名称,例如 qwen-max}", # dashscope 中的模型
- "api_key": "xxx", # The API key for DashScope API.
- }
Post Request API Config
对于post请求API,配置包含以下字段。
- {
- "config_name": "{配置名称}", # 用于识别配置的名称
- "model_type": "post_api",
- "api_url": "https://xxx", # 目标url
- "headers": { # 需要的头信息
- ...
- },
- }
为了方便开发和调试,AgentScope在scripts目录下提供了丰富的脚本以快速部署模型服务。 有关模型服务的详细使用,请参阅我们的教程和API文档。
这里我们这次实验用的model_config.json内容如下
- [
- {
- "model_type": "dashscope_chat",
- "config_name": "qwen",
- "model_name": "qwen-max",
- "api_key": "sk-",
- "generate_args": {
- "temperature": 0.5
- }
- }
- ]
灵积DashScope网址:模型服务灵积 DashScope - 阿里云 (aliyun.com)
创建Agent
脚本如下:
- from agentscope.agents import DialogAgent
- import agentscope
-
- # 初始化了多个大模型
- agentscope.init(
- model_configs="./model_configs.json"
- )
-
- # 使用qwen大模型初始化一个对话agent
- dialog_agent_qwen = DialogAgent(
- name="Assistant_qwen",
- sys_prompt="You're a helpful assistant.", # sys_prompt可以自行定义,不能为空
- model_config_name="qwen", # 这里的qwen和前面的model_config.json文件中的config_name要一一对应,否则Agent找不到大模型会报错
- )
-
- # 简单实用 可以当作一个api
- from agentscope.message import Msg
-
- msg = Msg(name="小助手",content="你好啊,给我介绍一下阿里AgentScope")
-
- dialog_agent_qwen (msg)
运行结果
- Assistant_qwen: 您好,阿里云AgentScope是一款针对分布式应用性能监控的工具,它能够深入到代码层面,提供细粒度的链路追踪和性能诊断能力。通过在应用中植入探针,AgentScope可以自动收集并上报应用的各项性能指标、数据库调用、RPC调用等信息,实现从用户请求入口到服务端内部调用的全链路监控。
-
- 具体来说,阿里云AgentScope可以帮助开发者:
-
- 1. 实现端到端的请求跟踪,了解每个请求在系统中的完整流转过程。
- 2. 快速定位性能瓶颈,发现并解决潜在问题,提高系统稳定性与响应速度。
- 3. 提供详细的SQL执行分析,帮助优化数据库查询性能。
- 4. 对服务间的依赖关系进行可视化展示,便于理解系统的整体架构和服务之间的交互情况。
-
- 总之,阿里云AgentScope是提升应用性能管理(APM)效率,保障业务稳定运行的重要工具之一。
对话示例
model_config.json依旧使用前面创建的
代码脚本参考agentscope代码仓目录下的examples/conversation/conversation.py文件
- # -*- coding: utf-8 -*-
- """A simple example for conversation between user and assistant agent."""
- import agentscope
- from agentscope.agents import DialogAgent
- from agentscope.agents.user_agent import UserAgent
- from agentscope.pipelines.functional import sequentialpipeline
-
-
- def main() -> None:
- """A conversation demo"""
-
- agentscope.init(model_configs="./model_configs.json")
-
- # Init two agents
- dialog_agent = DialogAgent(
- name="Assistant",
- sys_prompt="You're a helpful assistant.",
- model_config_name="qwen", # replace by your model config name
- )
- user_agent = UserAgent()
-
- # start the conversation between user and assistant
- x = None
- while x is None or x.content != "exit":
- x = sequentialpipeline([dialog_agent, user_agent], x)
-
-
- if __name__ == "__main__":
- main()
这个示例可以实现和大模型进行交互式对话
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。