Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions 02-use-cases/beginner/callback/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
from veadk import Agent, Runner
from veadk.memory import ShortTermMemory

from .callbacks import (
from callbacks import (
after_agent_callback,
after_model_callback,
after_tool_callback,
before_agent_callback,
before_model_callback,
before_tool_callback,
)
from .tools import write_article
from tools import write_article

root_agent = Agent(
name="ChineseContentModerator",
Expand Down
6 changes: 5 additions & 1 deletion 02-use-cases/beginner/hello_world/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@
user_id = "veadk_playground_user_short_term_local"
session_id = "veadk_playground_session_short_term_local"

agent = Agent()
agent = Agent(
name="hello_world",
description="hello world agent",
instruction="""你是一个智能助手,擅长用中文礼貌回复用户的问题。""",
)
short_term_memory = ShortTermMemory(backend="local")

runner = Runner(
Expand Down
35 changes: 11 additions & 24 deletions 02-use-cases/beginner/multi_agents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ agentkit config
agentkit launch

# 测试部署的 Agent
agentkit invoke '我想买一台火山引擎虚拟机,用来做图像处理,可以帮我介绍一下哪个规格更适合我吗'
agentkit invoke '我想买一台手机,用来玩游戏,可以帮我介绍一下哪个款式更适合我吗?'
```

## 示例提示词
Expand All @@ -273,19 +273,18 @@ Agent:[Pre-process Agent 分析需求]
### 场景二:产品咨询(并行搜索)

```text
用户:我想买一台火山引擎虚拟机,用来做图像处理,可以帮我介绍一下哪个规格更适合我吗
用户:我想买一台手机,用来玩游戏,可以帮我介绍一下哪个款式更适合我吗

Agent 执行流程:
1. [Pre-process Agent] 提取关键信息:
- 需求:虚拟机
- 用途:图像处理
- 目标:规格推荐
- 需求:手机
- 用途:玩游戏
- 目标:款式推荐

2. [Sequential Service Agent] 启动工作流

3. [Parallel Get Info Agent] 并行获取信息:
├── [RAG Search Agent] 搜索内部知识库
│ 找到:GPU 实例规格文档
├── [RAG Search Agent] 搜索内部知识库 # 这里简化,没有真正去读 RAG
└── [Web Search Agent] 搜索互联网
找到:图像处理性能对比

Expand All @@ -296,22 +295,10 @@ Agent 执行流程:
优化:增加礼貌用语和结构化

Agent:根据您的图像处理需求,我为您推荐以下规格:

1. **GPU 通用型 - ecs.g2n.2xlarge**
- GPU: NVIDIA V100 16GB
- vCPU: 8核
- 内存: 32GB
- 适合: 深度学习图像处理
- 价格: 约5元/小时

2. **GPU 计算型 - ecs.gn6v.xlarge**
- GPU: NVIDIA T4 16GB
- vCPU: 4核
- 内存: 16GB
- 适合: 图像识别和渲染
- 价格: 约3元/小时

如需更详细的配置方案或有其他问题,欢迎随时咨询!
商品名称:星辰智能手机Pro
价格:4999元
核心配置:骁龙8 Gen3(高性能处理器,适合游戏运行)、5000mAh(大电池支持长时间游戏)
其他福利:支持12期免息
```

### 场景三:订单问题(完整流程)
Expand All @@ -328,7 +315,7 @@ Agent 执行流程:
2. [Sequential Service Agent] 启动工作流

3. [Parallel Get Info Agent] 并行查询:
├── [RAG Search Agent] 查询订单系统
├── [RAG Search Agent] 查询订单系统 # 这里简化,没有真正去读 RAG
│ 结果:订单已发货,物流单号 SF123456
└── [Web Search Agent] 查询物流信息
结果:快件在途中,预计明天送达
Expand Down
3 changes: 2 additions & 1 deletion 02-use-cases/beginner/multi_agents/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@ async def send_request(message: str):

async def send_request_parallel():
await send_request(
"我想买一台火山引擎虚拟机,用来做图像处理,可以帮我介绍一下哪个规格更适合我吗?"
"我想买一台手机,用来玩游戏,可以帮我介绍一下哪个款式更适合我吗?"
# "我的订单 12345 什么时候发货?已经等了 3 天了"
)

asyncio.run(send_request_parallel())
6 changes: 6 additions & 0 deletions 02-use-cases/beginner/multi_agents/prompts.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,12 @@
- Q: 积分怎么获取?A: 每消费1元获得1积分,评价晒单额外+10积分
- Q: 订单可以修改地址吗?A: 发货前可在"我的订单"中修改收货地址

### 其中一个客户订单
订单号:12345
物流单号:SF123456(顺丰速运)
当前状态:运输途中
预计送达:明天(12月9日)

---

【核心职责】
Expand Down
2 changes: 1 addition & 1 deletion 02-use-cases/beginner/vikingdb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ uv run agent.py

# 配置部署参数,DATABASE_TOS_BUCKET环境变量需要传入到Agent中,用来上传本地文件到TOS,进而将文件从TOS导入到知识库中
agentkit config \
--agent_name vikingdb_agnet \
--agent_name vikingdb_agent \
--entry_point 'agent.py' \
--runtime_envs DATABASE_TOS_BUCKET=agentkit-platform-2107625663 \
--runtime_envs DATABASE_VIKING_COLLECTION=agentkit_knowledge_app \
Expand Down
37 changes: 16 additions & 21 deletions 02-use-cases/beginner/vikingmem/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ cd vikingmem

# 配置部署参数
agentkit config \
--agent_name vikingmem_agnet \
--agent_name vikingmem_agent \
--entry_point 'agent.py' \
--runtime_envs VIKINGMEM_APP_NAME=vikingmem_agent_app \
--launch_type cloud
Expand All @@ -219,41 +219,36 @@ agentkit invoke 'What is my habby?'
**存入信息到短期记忆**:

```text
用户:My habby is 0xabcd
Agent:Got it! Your hobby is 0xabcd.
用户:我的爱好是 0xabcd
Agent:你的爱好是 0xabcd.
(信息存储在 session: history_session)
```

**同会话查询(成功)**:

```text
用户:What is my habby?
Agent:Your hobby is 0xabcd.
用户:我的爱好是什么?
Agent:你的爱好是 0xabcd.
(使用相同的 session_id: history_session)
```

**新会话查询(失败)**:

```text
用户:What is my habby?
Agent:I don't have that information.
(使用不同的 session_id: new_session,短期记忆不可用)
```

### 长期记忆测试

**转换为长期记忆**:

```python
# 将短期记忆保存到长期记忆
await runner1.save_session_to_long_term_memory(session_id=history_session_id)
# 将短期记忆保存到长期记忆,这里我们已经默认给加到了长期记忆中
# 仅做记忆保存的演示,可以实现一个 tools,然后让 agent 根据实际需求选择会话内容保存到长期记忆中
async def after_agent_execution(callback_context: CallbackContext):
session = callback_context._invocation_context.session
await long_term_memory.add_session_to_memory(session)
```

**跨会话查询(成功)**:

```text
用户:What is my habby?
Agent:Based on my memory, your hobby is 0xabcd.
用户:我的爱好是什么?
Agent:根据记忆,你的爱好是 0xabcd.
(使用新的 session_id: new_session,长期记忆生效)
(Agent 自动调用 LoadMemory 工具检索历史信息)
```
Expand All @@ -263,15 +258,15 @@ Agent:Based on my memory, your hobby is 0xabcd.
运行 `local_test.py` 可以看到完整的记忆功能演示:

```text
Response 1: Got it! Your hobby is 0xabcd.
Response 1: 你的爱好是 0xabcd.

Response 2: Your hobby is 0xabcd.
Response 2: 你的爱好是 0xabcd.
(短期记忆生效)

Response 3: I don't have that information.
Response 3: 我没有这个信息.
(新会话,短期记忆失效)

Response 4: Based on my memory, your hobby is 0xabcd.
Response 4: 根据我的记忆,你的爱好是 0xabcd.
(长期记忆生效,跨会话检索成功)
```

Expand Down
9 changes: 9 additions & 0 deletions 02-use-cases/beginner/vikingmem/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,14 @@
from agentkit.apps import AgentkitAgentServerApp
from veadk import Agent, Runner
from veadk.memory import LongTermMemory, ShortTermMemory
from google.adk.agents.callback_context import CallbackContext


# 这里仅做记忆保存的演示,实际根据需求选择会话保存到长期记忆中
async def after_agent_execution(callback_context: CallbackContext):
session = callback_context._invocation_context.session
await long_term_memory.add_session_to_memory(session)


vikingmem_app_name = os.getenv("VIKINGMEM_APP_NAME", "vikingmem_agent_app")

Expand All @@ -26,6 +34,7 @@
name="vikingmem_agent",
instruction="Use LoadMemory tool to search previous info.",
long_term_memory=long_term_memory,
after_agent_callback=after_agent_execution,
)

runner = Runner(
Expand Down
2 changes: 2 additions & 0 deletions 02-use-cases/stock_analysis/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

这是一个基于火山引擎AgentKit构建的具备股票分析功能的智能助手。

本助手仅作教程使用,输出内容不构成投资建议,请您根据应用场景合理使用或修改,必要时可以寻求专业投资顾问的指导。

## 核心功能

- 功能 1:股票数据分析
Expand Down