AgentStorage 是知识存储和记忆存储的实例级资源容器。创建知识库或记忆库之前,必须先在目标地域创建 AgentStorage;后续 SDK 和数据面 API 使用该实例的名称与 HTTPS Endpoint 定位资源。
资源层级
阿里云账号
└── 地域
└── AgentStorage 实例
├── 知识库
│ ├── 文档
│ └── 切片与索引
└── 记忆库
├── 长期记忆、短期消息和任务
├── 文件、文件版本和 Dream
└── Agent Wiki(知识图谱)与页面知识库名称和记忆库名称在所属 AgentStorage 实例内管理。实例决定这些资源使用的地域、访问入口、网络边界和实例级访问控制策略。
管理面与数据面
层面 | 管理对象 | 调用入口 | 认证 |
管理面 | AgentStorage 实例、VPC 绑定、实例访问控制策略 |
| AccessKey 签名 |
数据面 | 知识库、记忆库及其子资源 | AgentStorage HTTPS Endpoint | API Key 或 AccessKey |
管理面字段使用 PascalCase,例如 AgentStorageName;知识和记忆数据面主要使用 camelCase,例如 knowledgeBaseName 和 memoryStoreName。
创建实例
创建时至少指定 AgentStorageName。可以同时指定描述、资源组、标签、允许的网络类型以及访问控制策略。
推荐流程:
在目标地域调用创建 AgentStorage。
使用列出 AgentStorage查询状态。
等待
AgentStorageStatus变为normal。获取实例的访问地址(endpoint),并在 SDK 中把 AgentStorage 名称配置为实例名称。
控制台
登录 AgentStorage 控制台,在顶部地域下拉框中选择目标地域。当前支持华北 2(北京)、华东 1(杭州)、华东 2(上海)、华南 1(深圳)、中国香港和新加坡,资源不跨地域显示。
在左侧导航栏单击 AgentStorage 管理,然后在页面右上角单击 创建 AgentStorage。
在新建 AgentStorage 对话框中填写以下参数,然后单击确定。
参数
说明
名称
必填。长度为 3~16 个字符,以英文字母开头,只能包含英文字母、数字和短划线,末尾不能是短划线;同一地域内名称不能重复。
描述
可选。说明该实例的业务场景,最多 128 个字符。
资源组
可选。用于统一管理资源和权限。
创建后实例显示在 AgentStorage 管理 列表中。等待状态列变为可用,即表示实例已就绪。
单击实例名称或操作列的详情,查看并复制实例的访问地址(Endpoint),用于在 SDK 和数据面 API 中定位实例;单击操作列的进入 AgentStorage,可进入实例管理知识库和记忆库。
SDK
实例管理属于管控面 OpenAPI(Tablestore/2020-12-09),使用 AccessKey 签名。以下示例使用 Python 管控面 SDK alibabacloud_tablestore20201209 创建实例并等待其就绪。
import os
import time
from alibabacloud_tablestore20201209.client import Client
from alibabacloud_tablestore20201209 import models as tablestore_models
from alibabacloud_tea_openapi import models as open_api_models
# 使用管控面 AccessKey 初始化客户端,endpoint 由 region_id 自动解析(如 tablestore.cn-hangzhou.aliyuncs.com)
config = open_api_models.Config(
access_key_id=os.environ["ALIBABA_CLOUD_ACCESS_KEY_ID"],
access_key_secret=os.environ["ALIBABA_CLOUD_ACCESS_KEY_SECRET"],
region_id="cn-hangzhou",
)
client = Client(config)
# 1. 创建 AgentStorage 实例
client.create_agent_storage(
tablestore_models.CreateAgentStorageRequest(
agent_storage_name="agent-prod",
agent_storage_description="AI Agent 的知识与记忆存储",
)
)
# 2. 轮询实例状态,直到 AgentStorageStatus 变为 normal
get_request = tablestore_models.GetAgentStorageRequest(agent_storage_name="agent-prod")
while client.get_agent_storage(get_request).body.agent_storage_status != "normal":
time.sleep(2)
print("AgentStorage 已就绪,可创建知识库和记忆库")删除实例
控制台
登录 AgentStorage 控制台,在顶部选择实例所在地域,然后在左侧导航栏单击 AgentStorage 管理。
在目标实例所在行的操作列,单击更多,然后单击删除。
在确认删除 AgentStorage 对话框中核对实例名称,确认无误后单击确认删除。删除操作不可恢复。
SDK
删除同样通过管控面 SDK alibabacloud_tablestore20201209 调用 DeleteAgentStorage。
import os
from alibabacloud_tablestore20201209.client import Client
from alibabacloud_tablestore20201209 import models as tablestore_models
from alibabacloud_tea_openapi import models as open_api_models
config = open_api_models.Config(
access_key_id=os.environ["ALIBABA_CLOUD_ACCESS_KEY_ID"],
access_key_secret=os.environ["ALIBABA_CLOUD_ACCESS_KEY_SECRET"],
region_id="cn-hangzhou",
)
client = Client(config)
# 删除 AgentStorage 实例;删除后实例内的表、表数据和相关索引不可恢复
client.delete_agent_storage(
tablestore_models.DeleteAgentStorageRequest(agent_storage_name="agent-test")
)停止向实例内的知识库和记忆库写入数据。
确认依赖该实例访问地址、API Key 和 VPC 地址的应用已经迁移。
导出或备份仍需保留的数据。
删除后不要立即创建同名 AgentStorage,以免与后台释放过程冲突。
删除操作不可恢复,并会导致实例中的表、表数据和相关索引不可用。
使用限制
单个阿里云账号最多创建 10 个 AgentStorage 实例。
AgentStorage 名称在同一地域内唯一,长度为 3~16 个字符。
名称必须以英文字母开头,只能包含英文字母、数字和短划线,末尾不能是短划线。
名称大小写不敏感,并且不能包含
ali、ay、ots、taobao或admin。