Skip to content

Commit b9e24d2

Browse files
authored
fix: update ignore, remove unnecessary file, update readme (#43)
2 parents ddc61c5 + 49d60a5 commit b9e24d2

File tree

37 files changed

+1076
-47103
lines changed

37 files changed

+1076
-47103
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ __pycache__/
88
# C extensions
99
*.so
1010

11+
# some unnecessary files
12+
.python-version
13+
.veadk-ignore
14+
.dockerignore
15+
uv.lock
16+
1117
# Distribution / packaging
1218
.Python
1319
develop-eggs/

02-use-cases/beginner/a2a_simple/.python-version

Lines changed: 0 additions & 1 deletion
This file was deleted.

02-use-cases/beginner/a2a_simple/.veadk-ignore

Lines changed: 0 additions & 3 deletions
This file was deleted.

02-use-cases/beginner/a2a_simple/README.md

Lines changed: 86 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,19 @@
22

33
基于火山引擎 VeADK 和 A2A (Agent-to-Agent) 协议构建的分布式智能体示例,展示如何实现智能体之间的通信和协作。
44

5-
## 📋 概述
5+
## 概述
66

7-
本示例演示 A2A 协议的基础应用,展示如何构建可互操作的分布式智能体系统:
7+
本示例演示 A2A 协议的基础应用,展示如何构建可互操作的分布式智能体系统。
8+
9+
## 核心功能
810

911
- A2A 协议:标准化的智能体间通信协议
1012
- 远程服务:提供工具能力的远程 Agent
1113
- 本地客户端:调用远程 Agent 的客户端
1214
- 工具能力:投掷骰子和检查质数
1315
- 状态管理:跨工具调用的状态持久化
1416

15-
## 🏗️ 架构
17+
## Agent 能力
1618

1719
```
1820
方式一:直接客户端调用
@@ -34,6 +36,25 @@ A2A 协议 (HTTP/JSONRPC)
3436
└── check_prime 工具 (检查质数)
3537
```
3638

39+
## 目录结构说明
40+
41+
```
42+
a2a_simple/
43+
├── agent.py # 本地 Agent 服务(端口 8000,可调用远程 Agent)
44+
├── local_client.py # A2A 客户端实现
45+
├── remote/ # 远程 Agent 服务
46+
│ ├── agent.py # Agent 定义和 A2A App(端口 8001)
47+
│ ├── agentkit.yaml # AgentKit 部署配置
48+
│ ├── requirements.txt # Python 依赖
49+
│ ├── Dockerfile # Docker 镜像构建
50+
│ └── tools/ # 工具实现
51+
│ ├── roll_die.py # 投掷骰子工具
52+
│ └── check_prime.py # 质数检查工具
53+
├── requirements.txt # 客户端依赖
54+
├── pyproject.toml # 项目配置
55+
└── README.md # 项目说明文档
56+
```
57+
3758
### 核心组件
3859

3960
| 组件 | 描述 |
@@ -122,11 +143,9 @@ def roll_die(sides: int, tool_context: ToolContext) -> int:
122143
return result
123144
```
124145

125-
## 🚀 快速开始
146+
## 本地运行
126147

127-
### 前置条件
128-
129-
**重要提示**:在运行本示例之前,请先访问 [AgentKit 控制台授权页面](https://console.volcengine.com/agentkit/region:agentkit+cn-beijing/auth?projectName=default) 对所有依赖服务进行授权,确保案例能够正常执行。
148+
### 前置准备
130149

131150
**1. 开通火山方舟模型服务**
132151

@@ -137,7 +156,7 @@ def roll_die(sides: int, tool_context: ToolContext) -> int:
137156

138157
- 参考 [用户指南](https://www.volcengine.com/docs/6291/65568?lang=zh) 获取 AK/SK
139158

140-
### 安装步骤
159+
### 依赖安装
141160

142161
#### 1. 安装 uv 包管理器
143162

@@ -152,49 +171,43 @@ brew install uv
152171
#### 2. 初始化项目依赖
153172

154173
```bash
174+
# 进入项目目录
155175
cd 02-use-cases/beginner/a2a_simple
176+
```
156177

157-
# 初始化虚拟环境和安装依赖
178+
您可以通过 `pip` 工具来安装本项目依赖:
179+
180+
```bash
181+
pip install -r requirements.txt
182+
```
183+
184+
或者使用 `uv` 工具来安装本项目依赖:
185+
186+
```bash
187+
# 如果没有 `uv` 虚拟环境,可以使用命令先创建一个虚拟环境
188+
uv venv --python 3.12
189+
190+
# 使用 `pyproject.toml` 管理依赖
158191
uv sync
159192

193+
# 使用 `requirements.txt` 管理依赖
194+
uv pip install -r requirements.txt
195+
160196
# 激活虚拟环境
161197
source .venv/bin/activate
162198
```
163199

164-
#### 3. 配置环境变量
200+
### 环境准备
165201

166202
```bash
167203
# 火山引擎访问凭证(必需)
168204
export VOLCENGINE_ACCESS_KEY=<Your Access Key>
169205
export VOLCENGINE_SECRET_KEY=<Your Secret Key>
170206
```
171207

172-
### 运行方式
208+
### 调试方法
173209

174-
#### 方式一:部署到 AgentKit 平台(推荐)
175-
176-
**部署远程 Agent**
177-
```bash
178-
cd 02-use-cases/beginner/a2a_simple/remote
179-
180-
# 配置部署参数(重要:agent_type 必须为 a2a)
181-
agentkit config
182-
183-
# 查看配置
184-
agentkit config --show
185-
186-
# 启动云端服务
187-
agentkit launch
188-
189-
# 测试部署的 Agent
190-
agentkit invoke 'Hello, show me one number.'
191-
```
192-
193-
**重要提示**
194-
- 务必确保 `agentkit.yaml` 中的 `common.agent_type` 配置值为 `a2a`
195-
- 否则无法成功部署 A2A 类型的 Agent
196-
197-
#### 方式二:使用 VeADK Web 调试界面
210+
#### 方式一:使用 VeADK Web 调试界面
198211

199212
```bash
200213
# 进入上级目录
@@ -208,7 +221,7 @@ veadk web
208221

209222
Web 界面提供图形化对话测试环境,支持实时查看远程调用过程。
210223

211-
#### 方式三:命令行测试(推荐学习)
224+
#### 方式二:命令行测试(推荐学习)
212225

213226
**步骤 1:启动远程 Agent 服务**
214227
```bash
@@ -241,31 +254,44 @@ python agent.py
241254
- **远程 Agent**(端口 8001):提供 roll_die 和 check_prime 工具
242255
- **本地 Agent**(端口 8000):提供 add 工具,并可调用远程 Agent
243256

244-
#### 方式四:部署到火山引擎 veFaaS
257+
## Agentkit 部署
258+
259+
### 前置准备
260+
261+
**重要提示**:在运行本示例之前,请先访问 [AgentKit 控制台授权页面](https://console.volcengine.com/agentkit/region:agentkit+cn-beijing/auth?projectName=default) 对所有依赖服务进行授权,确保案例能够正常执行。
262+
263+
**1. 开通火山方舟模型服务**
264+
265+
- 访问 [火山方舟控制台](https://exp.volcengine.com/ark?mode=chat)
266+
- 开通模型服务
267+
268+
**2. 获取火山引擎访问凭证**
269+
270+
- 参考 [用户指南](https://www.volcengine.com/docs/6291/65568?lang=zh) 获取 AK/SK
245271

246-
**安全提示**
247-
> 以下命令仅用于开发测试。生产环境必须启用 `VEFAAS_ENABLE_KEY_AUTH=true`(默认值)并配置 IAM 角色。
272+
### Agentkit 云上部署
248273

249274
```bash
250275
cd 02-use-cases/beginner/a2a_simple/remote
251276

252-
# 配置环境变量(仅测试用)
253-
export VEFAAS_ENABLE_KEY_AUTH=false
254-
export VOLCENGINE_ACCESS_KEY=<Your Access Key>
255-
export VOLCENGINE_SECRET_KEY=<Your Secret Key>
277+
# 配置部署参数(重要:agent_type 必须为 a2a)
278+
agentkit config
256279

257-
# 基础部署(快速开始)
258-
veadk deploy --vefaas-app-name=a2a-dice-agent --use-adk-web
280+
# 查看配置
281+
agentkit config --show
282+
283+
# 启动云端服务
284+
agentkit launch
259285

260-
# 生产级部署(推荐)
261-
veadk deploy \
262-
--vefaas-app-name=a2a-dice-agent \
263-
--use-adk-web \
264-
--veapig-instance-name=<Your veaPIG Instance> \
265-
--iam-role "trn:iam::<Your Account ID>:role/<Your IAM Role>"
286+
# 测试部署的 Agent
287+
agentkit invoke 'Hello, show me one number.'
266288
```
267289

268-
## 💡 示例对话
290+
**重要提示**
291+
- 务必确保 `agentkit.yaml` 中的 `common.agent_type` 配置值为 `a2a`
292+
- 否则无法成功部署 A2A 类型的 Agent
293+
294+
## 示例提示词
269295

270296
### 基础能力测试
271297

@@ -322,26 +348,9 @@ No prime numbers found.
322348
3 are prime numbers.
323349
```
324350

325-
## 📂 目录结构
326-
327-
```
328-
a2a_simple/
329-
├── agent.py # 本地 Agent 服务(端口 8000,可调用远程 Agent)
330-
├── local_client.py # A2A 客户端实现
331-
├── remote/ # 远程 Agent 服务
332-
│ ├── agent.py # Agent 定义和 A2A App(端口 8001)
333-
│ ├── agentkit.yaml # AgentKit 部署配置
334-
│ ├── requirements.txt # Python 依赖
335-
│ ├── Dockerfile # Docker 镜像构建
336-
│ └── tools/ # 工具实现
337-
│ ├── roll_die.py # 投掷骰子工具
338-
│ └── check_prime.py # 质数检查工具
339-
├── requirements.txt # 客户端依赖
340-
├── pyproject.toml # 项目配置
341-
└── README.md # 项目说明文档
342-
```
351+
## 效果展示
343352

344-
## 🔍 技术要点
353+
## 技术要点
345354

346355
### A2A 协议
347356

@@ -431,7 +440,7 @@ class MyAgentExecutor(A2aAgentExecutor):
431440
a2a_app.run(agent_card=agent_card, host="0.0.0.0", port=8000)
432441
```
433442

434-
## 🎯 下一步
443+
## 下一步
435444

436445
完成 A2A Simple 示例后,可以探索更多功能:
437446

@@ -440,9 +449,13 @@ a2a_app.run(agent_card=agent_card, host="0.0.0.0", port=8000)
440449
3. **[Travel Concierge](https://github.com/volcengine/agentkit-samples/tree/main/02-use-cases/beginner/travel_concierge/README.md)** - 使用 Web 搜索工具
441450
4. **分布式系统**:部署多个 A2A Agent 构建分布式智能体网络
442451

443-
## 📖 参考资料
452+
## 参考资料
444453

445454
- [VeADK 官方文档](https://volcengine.github.io/veadk-python/)
446455
- [AgentKit 开发指南](https://volcengine.github.io/agentkit-sdk-python/)
447456
- [A2A 协议规范](https://github.com/google/adk)
448457
- [火山方舟模型服务](https://console.volcengine.com/ark/region:ark+cn-beijing/overview?briefPage=0&briefType=introduce&type=new&projectName=default)
458+
459+
## 代码许可
460+
461+
本工程遵循 Apache 2.0 License

0 commit comments

Comments
 (0)