3.2 KiB
3.2 KiB
AI 存储插件规范
范围
AI 存储插件抽象 AI 资源的二进制或文本内容存储。元数据仍由 AI 资源模型和持久化服务拥有; 存储插件只负责按 key 读、写和删除内容。通用生命周期和状态规则由 Nacos 插件化规范 定义。
这是路由型存储插件。可以注册多个存储提供者。每个 StorageKey.provider 选择一个
AiResourceStorage。
存储与 AI 资源元数据有意分离。AI 领域拥有资源身份、 版本、标签、可见性和生命周期。存储插件只拥有不透明 storage key 对应的内容字节。
概念
| 概念 | 含义 |
|---|---|
| Storage provider | 由 StorageKey.provider 选择的命名后端。 |
| Opaque key | provider 专属 key,上层不应解析。 |
| Content | 与 AI 资源版本关联的二进制或文本载荷。 |
| Metadata | AI 持久化层存储的 AI 资源记录。 |
SPI
存储实现由 AiResourceStorageBuilder 创建。
| Builder 方法 | 要求 |
|---|---|
type() |
稳定存储提供者类型。 |
build() |
构造 AiResourceStorage。 |
存储服务实现:
| Service 方法 | 要求 |
|---|---|
type() |
运行时存储提供者类型。 |
save(storageKey, content) |
为该 key 存储内容。 |
get(storageKey) |
读取该 key 的内容,不存在时返回 null。 |
delete(storageKey) |
删除该 key 的内容。 |
该插件以 ai-storage 类型暴露给核心插件管理器。
路由
上层必须构造 provider 非空且 key 不透明的 StorageKey。AiResourceStorageRouter 按
provider 路由。除非自身 provider 契约定义了编码方式,存储插件不得从不透明 key 中解析
Nacos 资源身份。
默认 provider 为 nacos_config,它通过 Nacos 配置存储保存 AI 资源内容。
要求
存储插件必须精确保留字节内容,不得改变资源元数据、版本状态、 可见性或鉴权。存储 provider 缺失时必须显式失败。 发布前审核仍由 AI Pipeline 负责。
实现必须记录:
- 支持的最大内容大小;
save和delete后的一致性预期;- 读取是强一致还是最终一致;
- 备份与迁移行为;
- storage key 是否可以出现在 API 响应或日志中。
当前集成说明
核心插件管理器可以列出已加载的 AI 存储插件。当前代码说明,统一插件管理中的启停状态尚未
接入 AiResourceStorageRouter。在该集成完成前,路由由已注册的存储 provider 控制。