Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建 AgentCore 记忆
您可以通过 AgentCore CLI、 Amazon 控制台或 CreateMemory Amazon SDK 操作创建 AgentCore 内存。创建内存时,如果要提取长期内存,则可以配置诸如名称、描述、加密设置、原始事件的过期时间戳以及内存策略等设置。
创建 AgentCore 内存时,请考虑以下因素以使其满足应用程序的需求:
事件保留 — 选择将原始事件保留多长时间(最多 365 天)以用于短期记忆。
eventExpiryDuration在写入时按事件应用。更新它仅影响更改后创建的事件。以前存储的事件会保留其原始过期时间,并且无法延长,过期的事件也无法恢复。
Long-term 内存记录保留期(存活时间)-(可选)选择提取的长期内存记录在过期之前保留多长时间。你可以在策略内按策略配置recordExpiryDurationDays(至少 31 天)recordExpirySpecification。如果您未设置,则该策略生成的记录不会过期。配置或删除记录的存活时间需要权限。bedrock-agentcore:UpdateMemoryRecordExpirySpecification有关更多信息,请参阅为长期内存记录设置存活时间。
安全要求-如果您的应用程序处理敏感信息,请考虑使用客户托管的 Amazon KMS 密钥进行加密。即使您没有提供客户管理的 Amazon KMS 密钥,该服务仍会使用服务托管密钥对数据进行加密。
记忆策略 — 定义如何使用内置或内置的 overrides 策略将事件处理成有意义的长期记忆。如果您未定义任何策略,则仅存储包含原始事件的短期内存。有关更多信息,请参阅使用长期记忆。
命名惯例-使用清晰的描述性名称来帮助识别每个 AgentCore 内存的用途,尤其是在您的应用程序使用多个存储的情况下。
例
- AgentCore CLI
-
-
AgentCore CLI 内存命令必须在现有 agentcore 项目中运行。如果你还没有,请先创建一个项目:
agentcore create --project-name MemoryProject --no-agent
cd MemoryProject
创建基本记忆(仅限短期):
agentcore add memory --name my_agent_memory
agentcore deploy
用长期策略@@ 创造记忆:
agentcore add memory --name ShoppingSupportAgentMemory \
--strategies SUMMARIZATION,USER_PREFERENCE
agentcore deploy
检查内存状态:
agentcore status
- Interactive
-
-
运行打开 agentcore TUI,然后选择添加并选择内存:
-
输入内存名称:
-
选择活动到期时间:
-
选择用于长期内存提取的记忆策略:
-
查看配置并按 Enter 进行确认:
- Amazon SDK
-
-
有关更多信息,请参阅 Amazon 软件开发工具包。
import boto3
import time
# Initialize the Boto3 clients for control plane and data plane operations
control_client = boto3.client('bedrock-agentcore-control')
data_client = boto3.client('bedrock-agentcore')
print("Creating a new memory resource...")
# Create the memory resource with defined strategies
response = control_client.create_memory(
name="ShoppingSupportAgentMemory",
description="Memory for a customer support agent.",
memoryStrategies=[
{
'summaryMemoryStrategy': {
'name': 'SessionSummarizer',
'namespaceTemplates': ['/summaries/{actorId}/{sessionId}/']
}
},
{
'userPreferenceMemoryStrategy': {
'name': 'UserPreferenceExtractor',
'namespaceTemplates': ['/users/{actorId}/preferences/']
}
}
]
)
memory_id = response['memory']['id']
print(f"Memory resource created with ID: {memory_id}")
# Poll the memory status until it becomes ACTIVE
while True:
mem_status_response = control_client.get_memory(memoryId=memory_id)
status = mem_status_response.get('memory', {}).get('status')
if status == 'ACTIVE':
print("Memory resource is now ACTIVE.")
break
elif status == 'FAILED':
raise Exception("Memory resource creation FAILED.")
print("Waiting for memory to become active...")
time.sleep(10)
- Console
-
-
====== 创建内存 AgentCore
-
打开 Amazon Bedrock 控制台 AgentCore。
-
在左侧导航窗格中,选择 “内存”。
-
选择创建内存。
-
在内存名称中输入 AgentCore 内存的名称。
-
(可选)对于Short-term 内存(原始事件)到期,请设置 AgentCore 内存存储事件的持续时间(天)。
-
(可选)在其他配置中,设置以下内容:
-
在内存描述中,输入 AgentCore 内存的描述。
-
如果您想使用自己的 Amazon KMS 密钥来加密数据,请执行以下操作:
-
在 KMS 密钥中,选择自定义加密设置(高级)。
-
在选择 Amazon KMS 密钥中,选择或输入现有 Amazon KMS 密钥的 ARN。或者,选择创建 Amazon KMS 以创建新的 Amazon KMS 密钥。
-
(可选)对于Long-term 内存提取策略,请选择一种或多种内存策略。有关更多信息:
-
选择 “创建内存” 来创建内 AgentCore 存。