From a066376604afd2b20a28db443e568520a165b220 Mon Sep 17 00:00:00 2001 From: warm-wm Date: Wed, 31 Dec 2025 11:27:33 +0800 Subject: [PATCH 1/2] fix: verify 6 beginner cases except a2a --- 02-use-cases/beginner/callback/agent.py | 4 +- 02-use-cases/beginner/hello_world/agent.py | 6 ++- 02-use-cases/beginner/multi_agents/README.md | 35 ++++++------------ 02-use-cases/beginner/multi_agents/client.py | 3 +- 02-use-cases/beginner/multi_agents/prompts.py | 6 +++ 02-use-cases/beginner/vikingdb/README.md | 2 +- 02-use-cases/beginner/vikingmem/README.md | 37 ++++++++----------- 02-use-cases/beginner/vikingmem/agent.py | 9 +++++ 8 files changed, 52 insertions(+), 50 deletions(-) diff --git a/02-use-cases/beginner/callback/agent.py b/02-use-cases/beginner/callback/agent.py index ac18010..150f07d 100644 --- a/02-use-cases/beginner/callback/agent.py +++ b/02-use-cases/beginner/callback/agent.py @@ -2,7 +2,7 @@ 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, @@ -10,7 +10,7 @@ before_model_callback, before_tool_callback, ) -from .tools import write_article +from tools import write_article root_agent = Agent( name="ChineseContentModerator", diff --git a/02-use-cases/beginner/hello_world/agent.py b/02-use-cases/beginner/hello_world/agent.py index 5b56a87..f5ae819 100644 --- a/02-use-cases/beginner/hello_world/agent.py +++ b/02-use-cases/beginner/hello_world/agent.py @@ -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( diff --git a/02-use-cases/beginner/multi_agents/README.md b/02-use-cases/beginner/multi_agents/README.md index bc16607..1b3469b 100644 --- a/02-use-cases/beginner/multi_agents/README.md +++ b/02-use-cases/beginner/multi_agents/README.md @@ -250,7 +250,7 @@ agentkit config agentkit launch # 测试部署的 Agent -agentkit invoke '我想买一台火山引擎虚拟机,用来做图像处理,可以帮我介绍一下哪个规格更适合我吗' +agentkit invoke '我想买一台手机,用来玩游戏,可以帮我介绍一下哪个款式更适合我吗?' ``` ## 示例提示词 @@ -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] 搜索互联网 找到:图像处理性能对比 @@ -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期免息 ``` ### 场景三:订单问题(完整流程) @@ -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] 查询物流信息 结果:快件在途中,预计明天送达 diff --git a/02-use-cases/beginner/multi_agents/client.py b/02-use-cases/beginner/multi_agents/client.py index 1e49293..63ec7b1 100644 --- a/02-use-cases/beginner/multi_agents/client.py +++ b/02-use-cases/beginner/multi_agents/client.py @@ -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()) diff --git a/02-use-cases/beginner/multi_agents/prompts.py b/02-use-cases/beginner/multi_agents/prompts.py index ef70a2e..f1c11f5 100644 --- a/02-use-cases/beginner/multi_agents/prompts.py +++ b/02-use-cases/beginner/multi_agents/prompts.py @@ -73,6 +73,12 @@ - Q: 积分怎么获取?A: 每消费1元获得1积分,评价晒单额外+10积分 - Q: 订单可以修改地址吗?A: 发货前可在"我的订单"中修改收货地址 +### 其中一个客户订单 +订单号:12345 +物流单号:SF123456(顺丰速运) +当前状态:运输途中 +预计送达:明天(12月9日) + --- 【核心职责】 diff --git a/02-use-cases/beginner/vikingdb/README.md b/02-use-cases/beginner/vikingdb/README.md index d8cf2f5..62041ec 100644 --- a/02-use-cases/beginner/vikingdb/README.md +++ b/02-use-cases/beginner/vikingdb/README.md @@ -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 \ diff --git a/02-use-cases/beginner/vikingmem/README.md b/02-use-cases/beginner/vikingmem/README.md index 224e2ab..b11c3ca 100644 --- a/02-use-cases/beginner/vikingmem/README.md +++ b/02-use-cases/beginner/vikingmem/README.md @@ -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 @@ -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 工具检索历史信息) ``` @@ -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. (长期记忆生效,跨会话检索成功) ``` diff --git a/02-use-cases/beginner/vikingmem/agent.py b/02-use-cases/beginner/vikingmem/agent.py index 79316f1..9d0e214 100644 --- a/02-use-cases/beginner/vikingmem/agent.py +++ b/02-use-cases/beginner/vikingmem/agent.py @@ -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") @@ -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( From 45c30b2b1d380c2170273cb1ebc3bcfb8270c969 Mon Sep 17 00:00:00 2001 From: warm-wm Date: Wed, 31 Dec 2025 11:45:39 +0800 Subject: [PATCH 2/2] fix: add statement in readme of stock analysis --- 02-use-cases/stock_analysis/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/02-use-cases/stock_analysis/README.md b/02-use-cases/stock_analysis/README.md index 965bdd9..5ca1c05 100644 --- a/02-use-cases/stock_analysis/README.md +++ b/02-use-cases/stock_analysis/README.md @@ -4,6 +4,8 @@ 这是一个基于火山引擎AgentKit构建的具备股票分析功能的智能助手。 +本助手仅作教程使用,输出内容不构成投资建议,请您根据应用场景合理使用或修改,必要时可以寻求专业投资顾问的指导。 + ## 核心功能 - 功能 1:股票数据分析