Skip to content

Commit b2f708b

Browse files
committed
fix: agent performance optimization
- more strict prompt - expand mcp timeout - update requirements
1 parent 7a9a2ff commit b2f708b

File tree

5 files changed

+59
-31
lines changed

5 files changed

+59
-31
lines changed

02-use-cases/video_gen/README.md

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -39,24 +39,20 @@ AgentKit 运行时
3939
主要特性包括:
4040

4141
- **智能分镜生成**:自动将叙事分解为 4 个视觉关键帧,保持风格一致性和角色连续性
42-
4342
- **无缝视频过渡**:使用先进的视觉 AI 模型在帧之间生成流畅的过渡视频
44-
4543
- **本地 MCP 工具集成**:利用模型上下文协议进行高效的本地视频处理,无需云端依赖
46-
4744
- **自动上传与分享**:将完成的视频上传到 TOS,并生成限时签名 URL 以安全分享
48-
4945
- **迭代优化**:维护对话上下文,允许用户请求对风格、节奏或内容进行调整
5046

5147
## Agent 能力
5248

53-
| 组件 | 描述 |
54-
| - | - |
55-
| **Agent 服务** | [`agent.py`](agent.py) - 主应用程序,包含 MCP 工具注册 |
49+
| 组件 | 描述 |
50+
| -------------- | --------------------------------------------------------- |
51+
| **Agent 服务** | [`agent.py`](agent.py) - 主应用程序,包含 MCP 工具注册 |
5652
| **Agent 配置** | [`agent.yaml`](agent.yaml) - 模型设置、系统指令和工具列表 |
57-
| **自定义工具** | [`tool/`](tool/) - 文件下载和 TOS 上传实用工具 |
58-
| **MCP 集成** | `@pickstar-2002/video-clip-mcp` - 本地视频拼接服务 |
59-
| **短期记忆** | 会话上下文维护以保持对话连续性 |
53+
| **自定义工具** | [`tool/`](tool/) - 文件下载和 TOS 上传实用工具 |
54+
| **MCP 集成** | `@pickstar-2002/video-clip-mcp` - 本地视频拼接服务 |
55+
| **短期记忆** | 会话上下文维护以保持对话连续性 |
6056

6157
## 快速开始
6258

@@ -95,7 +91,7 @@ AgentKit 运行时
9591

9692
### 安装依赖
9793

98-
*推荐使用uv工具build项目**
94+
\*推荐使用uv工具build项目\*\*
9995

10096
```bash
10197
# install uv
@@ -210,22 +206,41 @@ veadk web
210206

211207
## AgentKit 部署
212208

213-
部署到火山引擎 AgentKit Runtime:
209+
### 部署到火山引擎 AgentKit Runtime
214210

215-
```bash
216-
# 1. 进入项目目录
217-
cd 02-use-cases/video_gen
211+
步骤1: 进入项目目录
212+
213+
```bash
214+
cd 02-use-cases/video_gen
215+
```
216+
217+
步骤2: 配置 AgentKit**
218218

219-
# 2. 配置并部署
219+
```bash
220220
agentkit config \
221221
--agent_name storybook_illustrator \
222222
--entry_point 'agent.py' \
223223
--runtime_envs DATABASE_TOS_BUCKET=agentkit-platform-{{your_account_id}} \
224224
--launch_type cloud
225+
```
225226

226-
# 3. 部署到运行时
227-
agentkit launch
227+
修改`agentkit.yaml`部署配置
228+
229+
> 目的:修改后会在镜像build阶段前置安装video-clip-mcp,以加速runtime启动
228230
231+
```bash
232+
# linux os命令
233+
sed -i 's/docker_build: {}/docker_build:\n build_script: "scripts\/setup.sh"/' agentkit.yaml
234+
235+
# mac os命令
236+
sed -i '' 's/docker_build: {}/docker_build:/' agentkit.yaml && sed -i '' '/docker_build:/a\
237+
build_script: "scripts\/setup.sh"' agentkit.yaml
238+
```
239+
240+
步骤4: 部署到运行时
241+
242+
```bash
243+
agentkit launch
229244
```
230245

231246
### 测试已部署的智能体

02-use-cases/video_gen/agent.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
)
4949
mcpTool = McpToolset(
5050
connection_params=StdioConnectionParams(
51-
server_params=server_parameters, timeout=60.0
51+
server_params=server_parameters, timeout=600.0
5252
),
5353
errlog=None,
5454
)

02-use-cases/video_gen/agent.yaml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
root_agent:
22
type: Agent
33
name: "storybook_illustrator"
4-
description: "绘本插画师,将儿童故事转化为3D卡通风格绘本插画与分镜视频的完整技能,适用于5-15岁读者"
5-
#model_name: "deepseek-v3-1-terminus"
4+
description: "将儿童故事转化为3D卡通风格绘本插画与分镜视频的完整技能,内容需契合5-15岁读者认知水平、传递积极价值观并引发情感共鸣"
65
model_name: "deepseek-v3-1-terminus"
76
instruction: |
8-
你是一个专业的绘本插画师,擅长根据故事情节生成卡通风格的绘本插画。输入输出中,任何涉及图片或视频的链接url,不要做任何修改
9-
7+
你是一个专业的绘本插画师,擅长根据故事情节生成卡通风格的绘本插画。输入输出中,任何涉及图片或视频的链接url,**绝对禁止任何形式的修改、截断、拼接或替换**,必须100%保持原始内容的完整性与准确性
8+
109
### 工作流程:
1110
---
1211
name: storybook_illustrator
@@ -18,7 +17,7 @@ root_agent:
1817
当用户提供一个故事或情节时,执行以下步骤生成绘本插画与分镜视频:
1918
2019
1. 理解并提炼故事情节,检索背景信息,将故事拆分为三个场景并重写为适合5-15岁儿童阅读的内容。
21-
2. 使用 image_generate 工具按时间顺序生成四张 720P 分镜图片, 一次性构造4个独立 task来生成图片;若用户未指定风格,默认采用“上海美术卡通风格”。生成后,以 Markdown 图片列表形式返回,例如:
20+
2. 使用 image_generate 工具按时间顺序生成四张分镜图片, 一次性构造4个独立 task来生成图片;若用户未指定风格,默认采用“上海美术卡通风格”。生成后,以 Markdown 图片列表形式返回,例如:
2221
```
2322
![分镜图片1](https://example.com/image1.png)
2423
![分镜图片2](https://example.com/image2.png)
@@ -32,16 +31,16 @@ root_agent:
3231
<video src="https://example.com/video2.mp4" width="640" controls>分镜视频2</video>
3332
<video src="https://example.com/video3.mp4" width="640" controls>分镜视频3</video>
3433
```
35-
5. 下载所有分镜视频到本地,调用合并工具拼接成完整故事视频;若合并失败,自动重试最多 2 次。
34+
5. **直接提取步骤4中返回的三段分镜视频的完整URL(包含所有query参数,不得有任何修改、省略或调整)**,下载所有分镜视频到本地,调用合并工具拼接成完整故事视频;若合并失败,自动重试最多 2 次。
3635
6. 将合并后的视频上传至 TOS;若上传失败,自动重试最多 2 次。最终返回 TOS 视频 URL,格式同上。
3736
3837
## Examples
3938
- 输入:“请把《小红帽》做成绘本视频” → 输出四张插画与三段过渡视频,最终合并为完整 TOS 视频链接。
4039
- 输入:“用国风画一只熊猫冒险故事” → 按国风风格生成插画与视频,合并后返回 TOS 链接。
4140
4241
## Guidelines
43-
- 任何图片或视频 URL 在输入输出中均不得修改,保持原样
44-
- 3D 人物在插画和视频中必须是3D模型,不能是2D图片。
42+
- **所有图片或视频 URL 在输入输出的全流程中均需严格保持原始状态,不允许进行任何形式的篡改(包括但不限于修改域名、路径、query参数、锚点等)**
43+
- 3D 人物在插画和视频中必须是3D模型,不能是2D图片。
4544
- 生成视频时务必一次性提交三个 task 列表,禁止单条视频多次调用工具。
4645
- 合并与上传环节失败时,最多重试 2 次,确保最终用户可获得 TOS 视频链接。
4746
- 下载的时候使用完整的URL带query参数
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
tos>=2.8.7
2-
veadk-python==0.2.27
3-
google-adk==1.18.0
4-
volcengine-python-sdk==4.0.33
5-
agentkit-sdk-python==0.1.15
2+
veadk-python>=0.2.27
3+
google-adk>=1.18.0
4+
volcengine-python-sdk>=4.0.33
5+
agentkit-sdk-python>=0.2.0
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
# install-video-clip-mcp.sh
3+
4+
echo "开始安装 @pickstar-2002/video-clip-mcp..."
5+
npm install -g @pickstar-2002/video-clip-mcp@latest
6+
7+
if [ $? -eq 0 ]; then
8+
echo "✅ 安装成功!"
9+
echo "安装位置: $(which video-clip-mcp)"
10+
echo "版本信息: $(video-clip-mcp --version 2>/dev/null || echo '运行 video-clip-mcp --version 查看')"
11+
else
12+
echo "❌ 安装失败!"
13+
exit 1
14+
fi

0 commit comments

Comments
 (0)