11# 部署上云
22
3+ VeADK提供了一个云引擎,配合命令行脚手架,你可以方便地:
4+
5+ - 将你的本地Agent项目上传到云端
6+ - 启动一个新的样例模板项目进行开发
7+
8+ 你可以指定部署到云端的项目以三种模式进行对外服务:
9+
10+ - VeADK Studio
11+ - VeADK Web(兼容Google ADK Web)
12+ - A2A Server
13+
14+ 前两种将会为你提供一个Web界面,方便你在浏览器中进行测试与可观测实践。
15+
16+ ## 脚手架
17+
18+ 你可以运行` init ` 命令来初始化一个新的Agent项目:
19+
20+ ``` bash
21+ veadk init
22+ ```
23+
24+ 它会提示你输入如下几个参数:
25+
26+ - 本地项目名称(即项目的本地目录名称)
27+ - VeFaaS应用名称
28+ - 火山引擎网关实例名称
29+ - 火山引擎网关服务名称
30+ - 火山引擎网关Upstream名称
31+ - 部署模式
32+ 1 . A2A Server
33+ 2 . VeADK Studio
34+ 3 . VeADK Web / Google ADK Web
35+
36+ 生成后的项目结构如下:
37+
38+ ``` bash
39+ └── veadk-cloud-proj
40+ ├── __init__.py
41+ ├── config.yaml.example # 需要修改为config.yaml并设置
42+ ├── deploy.py # 部署脚本文件
43+ ├── README.md
44+ └── 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的应用
51+ ```
52+
53+ 别担心,你所创建的` config.yaml ` 不会被上传到云端,其中的属性值将会以环境变量的形式上传至VeFaaS平台。
54+
55+ 只有` src/ ` 路径下的文件才会被上传到云端。
56+
357## Cloud Agent Engine
458
5- 通过定义一个云引擎,能够将本地Agent工程直接部署至VeFaaS中,并自动启动一个A2A Server 。
59+ 如果你已经有一个较为成熟的Agent项目,你可以通过VeADK中提供的云引擎来部署你的项目。VeFaaS平台所需的部署文件我们将会为你自动生成到你的项目路径中 。
660
761``` python
862from veadk.cloud.cloud_agent_engine import CloudAgentEngine
963
1064engine = CloudAgentEngine()
1165
1266# Create application thru local folder and unique application name
13- cloud_app = engine.deploy(path = < absolute path of your agent application, e.g. / Users/ my_agent_name> , name = < unique name of your agent. e.g. veadk- agent> )
67+ cloud_app = engine.deploy(... )
68+ ```
1469
15- # Delete applicaton by name
16- async def delete_app (app_name : str ):
17- engine = CloudAgentEngine()
18- engine.remove(app_name)
70+ 类` CloudAgentEngine ` 初始化需要传入你的火山引擎AK/SK;如果你没有传入,那么VeADK将自动从你的环境变量中获取。
1971
20- if __name__ == " __main__" :
21- asyncio.run(delete_app(" veadk-agent" ))
22- ```
72+ 进行` deploy ` 函数调用时,关键参数如下:
73+
74+ | 参数名称 | 类型 | 说明 |
75+ | --- | --- | --- |
76+ | path | str | 本地Agent项目路径 |
77+ | application_name | str | 云应用名称 |
78+ | gateway_name | str | 火山引擎网关实例名称 |
79+ | gateway_service_name | str | 火山引擎网关服务名称 |
80+ | gateway_upstream_name | str | 火山引擎网关Upstream名称 |
81+ | use_studio | bool | 是否在云端使用VeADK Studio |
82+ | use_adk_web | bool | 是否在云端使用VeADK Web / Google Web |
83+
84+ 注意:` use_studio ` 与` use_adk_web ` 不可同时为` True ` 。
2385
2486## Cloud App
2587
26- 部署完成后,将返回一个` CloudApp ` 实例,代表云应用,主要功能包括:
88+ 当你使用 ` CloudAgentEngine ` 部署完成后,将返回一个` CloudApp ` 实例,代表云应用,主要功能包括:
2789
2890- 发起一个远程会话创建请求
2991- 发起一个Agent执行任务/对话任务
@@ -36,7 +98,6 @@ cloud_app.create_session(user_id=..., session_id=...)
3698
3799# 发起任务
38100cloud_app.invoke(user_id = ... , session_id = ... , message = ... )
39-
40101```
41102
42103- 通过端点发起一个远程会话创建请求
@@ -54,6 +115,7 @@ app = CloudApp(name="veadk-agent", endpoint=ENDPOINT)
54115
55116# 发起任务
56117cloud_app.invoke(user_id = USER_ID , session_id = SESSION_ID , message = ... )
57-
58-
59118```
119+
120+ - 更新自身代码
121+ - 删除自身
0 commit comments