跳转至

参数、KV Cache 和 Trajectory 的持久化存储


核心特性

为 AI 系统设计的高性能持久化存储

🔌

可插拔后端

支持多种存储后端,包括内存、Lance、以及自定义实现。按需选择最适合的存储方案。

Lance 集成

基于 Lance 列式存储格式,提供高性能随机访问、向量搜索和零拷贝版本控制。

🔄

Pulsing 集成

与 Pulsing Actor 框架无缝集成,为分布式队列提供持久化能力。

📊

Schema 演进

支持 Schema 动态演进,无需停机即可更新数据结构,适应不断变化的需求。

📈

监控指标

内置 Prometheus 指标导出,实时监控存储性能和健康状态。

快速开始

1

安装 Persisting

pip install persisting

# Or install with Pulsing
pip install persisting[pulsing]
2

创建队列

from persisting import Queue

queue = Queue("my_topic", storage_path="./data")
3

写入与读取

await queue.put({"id": "1", "value": 42})
await queue.flush()
records = await queue.get(limit=100)

应用场景

🧠

KV Cache 存储

高效存储和检索 LLM 推理过程中的 KV Cache,支持跨会话复用,降低重复计算成本。

📚

Trajectory 存储

持久化存储强化学习和训练过程中的 Trajectory 数据,支持离线分析和经验回放。

⚙️

参数检查点

高效保存和加载模型参数检查点,支持增量更新和版本管理。

生态集成

与 AI 生态系统无缝协作

Pulsing

🔍

Probing

🗃️

Lance

🏹

Apache Arrow

为什么选择 Persisting?

Persisting 是为 AI 系统量身定制的持久化存储解决方案。 它基于 Lance 列式存储格式,提供高性能的数据读写能力, 同时与 Pulsing Actor 框架深度集成,为分布式队列提供可靠的持久化支持。 无论是 KV Cache、Trajectory 还是模型参数,Persisting 都能高效处理。

了解更多 →

可插拔的存储后端

Persisting 提供灵活的存储后端架构。 你可以根据需求选择内存后端(用于测试)、Lance 后端(用于生产)或实现自定义后端。

所有后端遵循统一的 StorageBackend 协议,确保 API 一致性。 切换后端只需修改一个参数,无需更改业务逻辑。

了解更多 →
from persisting import Queue

# Create queues with different storage paths
queue = Queue("my_topic", storage_path="./data")

# Write and read
await queue.put({"id": "1", "value": 42})
await queue.flush()
records = await queue.get(limit=100)

加入社区

Persisting 是开源的、社区驱动的项目。欢迎参与!