@@ -5,20 +5,33 @@ VeADK提供了一个云引擎,配合命令行脚手架,你可以方便地:
55- 将你的本地Agent项目上传到云端([ 火山引擎函数服务平台] ( https://www.volcengine.com/product/vefaas ) )
66- 启动一个新的样例模板项目进行开发
77
8- 你可以指定部署到云端的项目以三种模式进行对外服务 :
8+ 部署到云端时,你可以指定两种部署模式来对外提供服务 :
99
10- - VeADK Studio
10+ - A2A与MCP Server(一体化启动)
11+ - A2A 提供标准的` message_send ` 等接口
12+ - MCP 提供` run_agent ` 工具方法
1113- VeADK Web(兼容Google ADK Web)
12- - A2A Server
1314
14- 前两种将会为你提供一个Web界面,方便你在浏览器中进行测试与可观测实践 。
15+ VeADK Web 将会为你提供一个Web界面,方便你在浏览器中进行体验 。
1516
1617## 脚手架
1718
19+ ### 初始化
20+
1821你可以运行` init ` 命令来初始化一个新的Agent项目:
1922
2023``` bash
21- veadk init
24+ $ veadk init
25+ Directory name [veadk-cloud-proj]:
26+ Volcengine FaaS application name [veadk-cloud-agent]:
27+ Volcengine gateway instance name []:
28+ Volcengine gateway service name []:
29+ Volcengine gateway upstream name []:
30+ Choose a deploy mode:
31+ 1. A2A/MCP Server
32+ 2. VeADK Web / Google ADK Web
33+ Enter your choice (1, 2): 1
34+ Your project has beed created.
2235```
2336
2437它会提示你输入如下几个参数:
@@ -29,31 +42,56 @@ veadk init
2942- 火山引擎网关服务名称
3043- 火山引擎网关Upstream名称
3144- 部署模式
32- 1 . A2A Server
33- 2 . VeADK Studio
34- 3 . VeADK Web / Google ADK Web
45+ 1 . A2A / MCP Server
46+ 2 . VeADK Web / Google ADK Web
3547
3648生成后的项目结构如下:
3749
3850``` bash
3951└── veadk-cloud-proj
40- ├── __init__.py
41- ├── config.yaml.example # 需要修改为config.yaml并设置
42- ├── deploy.py # 部署脚本文件
52+ ├── config.yaml.example # 环境变量配置文件
53+ ├── deploy.py # 部署脚本
4354 ├── README.md
4455 └── src
45- ├── __init__.py
46- ├── agent.py # 在其中定义你的Agent和短期记忆
47- ├── app.py # FastAPI应用,用于处理HTTP请求
48- ├── requirements.txt # 依赖
49- ├── run.sh # VeFaaS服务启动脚本
50- └── studio_app.py # 用于VeADK Studio/Web的应用
56+ ├── agent.py # 定义 agent 导出
57+ ├── app.py # 服务端启动脚本
58+ ├── run.sh # 启动脚本
59+ └── weather_agent # Agent 实现
60+ ├── __init__.py
61+ ├── agent.py # Agent 实例化
62+ └── requirements.txt # 依赖
5163```
5264
53- 别担心, 你所创建的` config.yaml ` 不会被上传到云端,其中的属性值将会以环境变量的形式上传至VeFaaS平台。
65+ 你所创建的` config.yaml ` 不会被上传到云端,其中的属性值将会以环境变量的形式上传至VeFaaS平台。
5466
5567只有` src/ ` 路径下的文件才会被上传到云端。
5668
69+ ### 自定义项目
70+
71+ 在使用脚手架生成模板项目后,你可以做如下操作:
72+
73+ 1 . 向` src ` 目录中直接导入一个能够被 ADK Web 识别的目录(例如` weather_agent ` 目录),主要包括:
74+ - 包含` root_agent ` 这个全局变量的` agent.py ` 文件
75+ - 包含` from . import agent ` 的` __init__.py ` 文件
76+ 2 . 在` src/agent.py ` 中实例化` AgentRunConfig ` 类,主要属性包括:
77+ - ` app_name ` :部署在云上的 Agent 应用名称(与VeFaaS应用名称不一定对应,此处为服务级别)
78+ - ` agent ` :你提供服务的 Agent 实例
79+ - ` short_term_memory ` :短期记忆,为空则默认初始化in-memory短期记忆,重启后即消失
80+ - ` requirement_file_path ` :依赖文件路径,VeADK 能够自动将其移动到` src/requirements.txt `
81+ 3 . 使用` python deploy.py ` 进行云端部署
82+
83+ 如果你想在部署到云端前进行本地运行,测试代码问题,可以在` deploy.py ` 中的` engine.deploy ` 调用处,添加参数:` local_test=True ` 。添加后,在部署前将会启动相关服务,测试启动是否正常。
84+
85+ ### 云端环境变量
86+
87+ | 环境变量名称 | 说明 | 值 | 备注 |
88+ | - | - | - | - |
89+ | VEADK_TRACER_APMPLUS | 是否使用火山 APMPlus Tracing | ` true ` \| ` false ` | |
90+ | VEADK_TRACER_COZELOOP | 是否使用火山 CozeLoop Tracing | ` true ` \| ` false ` | |
91+ | VEADK_TRACER_TLS | 是否使用 TLS Tracing | ` true ` \| ` false ` | |
92+ | SHORT_TERM_MEMORY_BACKEND | 启动 ADK Web 时的短期记忆后端 | ` local ` \| ` mysql ` | 优先级低于在` agent.py ` 中定义的短期记忆 |
93+ | LONG_TERM_MEMORY_BACKEND | 启动 ADK Web 时的长期记忆后端 | ` opensearch ` \| ` viking ` | 优先级低于在` agent.py ` 中定义的长期记忆 |
94+
5795## Cloud Agent Engine
5896
5997如果你已经有一个较为成熟的Agent项目,你可以通过VeADK中提供的云引擎来部署你的项目。VeFaaS平台所需的部署文件我们将会为你自动生成到你的项目路径中。
0 commit comments