本文主要是介绍AgentScope Learning Feedback,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
教程:关于AgentScope — AgentScope 文档 (modelscope.github.io)
AgentScope代码结构
AgentScope ├── src │ ├── agentscope │ | ├── agents # 与智能体相关的核心组件和实现。 │ | ├── memory # 智能体记忆相关的结构。 │ | ├── models # 用于集成不同模型API的接口。 │ | ├── pipeline # 基础组件和实现,用于运行工作流。 │ | ├── rpc # Rpc模块,用于智能体分布式部署。 │ | ├── service # 为智能体提供各种功能的服务。 | | ├── web # 基于网页的用户交互界面。 │ | ├── utils # 辅助工具和帮助函数。 │ | ├── prompt.py # 提示工程模块。 │ | ├── message.py # 智能体之间消息传递的定义和实现。 │ | ├── ... .. │ | ├── ... .. ├── scripts # 用于启动本地模型API的脚本。 ├── examples # 不同应用程序的预构建示例。 ├── docs # 教程和API参考文档。 ├── tests # 单元测试模块,用于持续集成。 ├── LICENSE # AgentScope使用的官方许可协议。 └── setup.py # 用于安装的设置脚本。 ├── ... .. └── ... ..
示例解读
# -*- coding: utf-8 -*-
"""A simple example for auto discussion: the agent builder automatically\set up the agents participating the discussion ."""
from tools import load_txt, extract_scenario_and_participants
import agentscope
from agentscope.agents import DialogAgent
from agentscope.pipelines.functional import sequentialpipeline
from agentscope.message import Msgmodel_configs = [{"model_type": "openai","config_name": "gpt-3.5-turbo","model": "gpt-3.5-turbo","api_key": "xxx", # Load from env if not provided"organization": "xxx", # Load from env if not provided"generate_args": {"temperature": 0.5,},},{"model_type": "post_api_chat","config_name": "my_post_api","api_url": "https://xxx","headers": {},"json_args": {},},
]
agentscope.init(model_configs=model_configs)# init agent_builder
agent_builder = DialogAgent(name="agent_builder",sys_prompt="You're a helpful assistant.",model_config_name="my_post_api",
)max_round = 2
query = "Say the pupil of your eye has a diameter of 5 mm and you have a \
telescope with an aperture of 50 cm. How much more light can the \
telescope gather than your eye?"# get the discussion scenario and participant agents
x = load_txt("agent_builder_instruct.txt").format(question=query,
)x = Msg("user", x)
settings = agent_builder(x)
scenario_participants = extract_scenario_and_participants(settings["content"])# set the agents that participant the discussion
agents = [DialogAgent(name=key,sys_prompt=val,model_config_name="my_post_api",)for key, val in scenario_participants["Participants"].items()
]# begin discussion
msg = Msg("user", f"let's discuss to solve the question: {query}")
for i in range(max_round):msg = sequentialpipeline(agents, msg)
(1)配置接口
(2)创建一个Agent,被设置为使用my_post_api
(3)把用户的问题也就是query放入xt文件中的prompt
(4)打包成Message丢给agent_bulider
(5)extract_scenario_and_participants 的作用是从 agent_builder 的响应中提取对话场景和参与者信息
(6)根据场景和参与者信息,创建一个对话代理列表 agents。
(7)最后对话由用户发起,通过 Msg 类创建一个用户消息(msg),然后使用 sequentialpipeline 函数进行迭代,每个代理按顺序处理消息,直到达到最大轮次或解决问题。
个人感想:貌似比MetaGPT的框架要更直白简介一些
遇到的小问题
这篇关于AgentScope Learning Feedback的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!