Skip to content

Commit

Permalink
update tutorial for agent server manager
Browse files Browse the repository at this point in the history
  • Loading branch information
pan-x-c committed Jul 19, 2024
1 parent d3e41d1 commit 490ac1a
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 2 deletions.
Binary file modified docs/sphinx_doc/en/source/tutorial/209-gui.md
Binary file not shown.
56 changes: 55 additions & 1 deletion docs/sphinx_doc/zh_CN/source/tutorial/209-gui.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ agentscope.studio.init(
)
```

## About Workstation
## Workstation

Workstation 是为零代码用户设计的,可以通过**拖拽**的方式构建多智能体应用程序。

Expand Down Expand Up @@ -149,4 +149,58 @@ as_workflow config.json --compile ${YOUR_PYTHON_SCRIPT_NAME}.py
- 一致的配置命名:Agent 节点使用的“Model config name”必须对应于 Model 节点中定义的“Config Name”。
- 节点嵌套正确:ReActAgent 等节点应仅包含工具节点。类似地,IfElsePipeline 等 Pipeline 节点应包含正确数量的元素(不超过 2 个),而 ForLoopPipeline、WhileLoopPipeline 和 MsgHub 应遵循一个元素的规则(必须是 SequentialPipeline 作为子节点)。

## Server Manager

> 阅读本节内容需要先了解 AgentScope [分布式](#208-distribute-zh) 的基本概念及用法。
Server Manager 是一个用于监控和管理 AgentScope 智能体服务器进程(Server)以及大规模分布式应用的图形化界面。

### 注册 Server 进程

在初始化 `RpcAgentServerLauncher` 时传入 `studio_url` 参数即可实现注册。

```python
# import some packages
server = RpcAgentServerLauncher(
# ...
studio_url="http://studio_ip:studio_port", # connect to AgentScope Studio
)
```

更具体的注册方法请参考 [分布式](#208-distribute-zh)*连接 AgentScope Studio* 部分。

### 管理 Server 进程

从 AgentScope Studio 主页面或侧边栏中的 Server Manager 按钮即可进入 Server Manager 页面。
当前 Server Manager 页面由 Servers 列表, Agents 列表, Memory 列表三个部分构成。

<h1 align="center">
<img src="https://gw.alicdn.com/imgextra/i2/O1CN01zvhoVE1MMrmbvu4mU_!!6000000001421-0-tps-3204-1854.jpg
" width="600" alt="agentscope-manager">
</h1>

#### Servers 列表

注册到 Studio 的智能体服务器进程(Server)都会显示在 Server Manager 页面的 Servers 列表中,列表中会不仅会显示每个 Server 的 `ID`, `Hostname`, `Port`, `Created Time`,还会显示每个 Server 的状态以及计算资源使用情况,包括 `Status`, `CPU Usage`, `Memory Usage`

其中 `Status` 有以下几种:
- `running`:表示 Server 正在运行。
- `dead`:表示 Server 已停止运行。
- `unknown`:表示目前无法正常访问 Stduio 服务。

只有在 `running` 状态的 Server 才会显示 CPU 和 Memory 的使用情况。用户可以点击 Servers 栏左边的刷新按钮来刷新 Servers 列表,同时也能够通过点击 Servers 栏右侧的删除按钮来一键删除所有已经处于 `dead` 状态的 Server。

Servers 列表每行的最后一列都提供了删除按钮,用于关闭并删除 Server,需要注意的是该操作是无法恢复的,因此需要谨慎使用。

#### Agents 列表

在点击任意处于 `running` 状态的 Server 行后,会在页面中展开 Agents 列表,该列表中会显示该 Server 下所有 Agent,列表中会显示每个 Agent 的 `ID`, `Name`, `Class`, `System Prompt` 以及 `Model`

用户同样可以通过 Agents 列表栏左侧的刷新按钮来刷新 Agents 列表。并且用户也可以通过每个 Agent 行最右侧的删除按钮来删除该 Agent,并通过 Agents 列表栏右侧的删除按钮来批量删除 Server 中所有的 Agent。这里的删除操作都是不可恢复的,因此需要谨慎使用。

#### Memory 列表

在点击任意 Agent 行后,会在页面中展开 Memory 列表,该列表中会显示该 Agent 的 Memory 中的所有消息,每条消息会在左侧显示其 `Name``Role` 属性值,在点击后会在列表右侧显示该消息的具体内容。
这里同样可以点击 Memory 列表栏左侧的刷新按钮来刷新当前的 Memory 列表。

[[回到顶部]](#209-gui-zh)
2 changes: 2 additions & 0 deletions src/agentscope/studio/static/js/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -482,6 +482,8 @@ function initializeServerPage() {
};
let deleteAllAgentBtn = document.getElementById("delete-all-agent-btn");
deleteAllAgentBtn.onclick = deleteAllAgent;
let memoryflushBtn = document.getElementById("flush-memory-btn");
memoryflushBtn.onclick = flushAgentMemoryTable;
window.addEventListener("resize", () => {
if (messageEditor) {
messageEditor.layout();
Expand Down
2 changes: 1 addition & 1 deletion tests/custom/custom_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"""A python module contains AgentBase subclasses.
For testing the agent dir loading functionality.
"""
from utils import speak
from utils import speak # pylint: disable=E0611
from agentscope.agents import AgentBase
from agentscope.message import Msg

Expand Down

0 comments on commit 490ac1a

Please sign in to comment.