View a markdown version of this page

创建事件 - Amazon Bedrock AgentCore

创建事件

事件是短期的基本单位,从中提取结构化信息到记忆中的长期记 AgentCore 忆中。该CreateEvent操作允许您在 AgentCore 内存中存储各种类型的数据,这些数据按角色和会话进行组织。事件在内存中的作用域为:

ActorId

标识与事件关联的实体,例如最终用户或 agent/user 组合

SessionId

将相关事件分组在一起,例如对话会话

CreateEvent操作在指定的内存会话中存储一个新的不可变事件。事件代表您的代理想要记住的各个信息,例如对话消息、用户操作或系统事件。

此操作可用于:

  • 记录用户、代理和工具之间的对话历史记录

  • 存储用户互动和行为

  • 捕获系统事件和状态变化

  • 建立会话中按时间顺序排列的活动记录

有关示例代码,请参阅场景:使用 AgentCore 内存的客户支持 AI 代理

事件负载类型

payload参数接受有效载荷项目列表,允许您在单个事件中存储不同类型的数据。常见的有效载荷类型包括:

会话

用于存储包含角色(例如 “用户” 或 “助理”)和内容的对话消息。

Blob

用于存储二进制格式的数据,例如图像和文档,或您的代理独有的数据,例如以 JSON 格式存储的数据。

注意

当前,只有对话数据才会流入长期记忆。

事件分支

branch参数允许您通过高级分支来组织事件。这对于消息编辑或备用对话路径之类的场景很有用。例如,假设你有一个长时间的对话,并且你意识到自己有兴趣探索从 5 条消息前开始的替代对话。您可以使用branch参数从存储在新分支中的消息开始新的对话,这也允许您返回到原始对话。更平凡的是,如果你想让你的用户编辑他们的最新消息(以防用户提前按下回车或者有错字)并继续对话,这很有用。

创建分支时,需要指定:

name

分支的描述性名称,例如 “编辑过的对话”。

rootEventId

分支起源的事件的 ID。

以下是创建分支事件来表示已编辑消息的示例:

{ "memoryId": "mem-12345abcdef", "actorId": "/agent-support-123/customer-456", "sessionId": "session-789", "eventTimestamp": 1718806000000, "payload": [ { "Conversational": { "content": "I'm looking for a waterproof action camera for extreme sports.", "role": "user" } } ], "branch": { "name": "edited-conversation", "rootEventId": "evt-67890" } }