专为 AI Agent 长期记忆设计的嵌入式数据库,支持向量、图与时间维度的混合检索。
CortexaDB 定位为 "SQLite for AI Agents",旨在解决 AI Agent 上下文窗口溢出后的持久化记忆问题。核心引擎使用 Rust 编写(cortexadb-core),通过 maturin 提供高性能的 Python 绑定(cortexadb-py),采用 Cargo workspace 管理。
检索引擎#
- 向量搜索:原生支持语义相似度检索,基于 HNSW 算法(底层使用 USearch 库)实现亚毫秒级近似最近邻搜索。
- 图关系:支持在记忆条目之间建立和查询关系边(如
relates_to),可在同一查询中与向量搜索混合使用。 - 时间索引:内置时间维度索引,支持按时间衰减/最近性进行检索。
- 混合检索:单次查询中可同时利用语义相似度、结构关系和时间衰减三种信号。
存储与性能#
- 采用 WAL(Write-Ahead Log)后备存储机制,确保零数据丢失。
- 批量写入声称可达 5,000+ chunks/秒(README 声明,未见独立 benchmark 数据)。
易用性#
- 零依赖 / 单文件:无需服务器进程,类似 SQLite 的嵌入式体验。
- Fluent Query Builder:Python 端提供链式查询 API(
.query().limit().use_graph().execute())。 - Embedder 抽象:通过 provider 接口注入外部嵌入模型(文档示例为
OpenAIEmbedder,其他模型支持情况未明确)。 - 文档解析(可选):安装
cortexadb[docs,pdf]后支持 PDF/DOCX 文档解析与导入。
隐私与部署#
- 完全本地运行,数据不离开用户机器。
- 跨平台支持 Windows、Linux、macOS。
- 当前稳定版本 v1.0.1,双许可 MIT + Apache-2.0。
快速开始#
from cortexadb import CortexaDB
from cortexadb.providers.openai import OpenAIEmbedder
db = CortexaDB.open("agent.mem", embedder=OpenAIEmbedder())
mid1 = db.add("The user prefers dark mode.")
mid2 = db.add("User works at Stripe.")
db.connect(mid1, mid2, "relates_to")
hits = db.query("What are the user's preferences?").limit(5).use_graph().execute()
待确认事项#
- 批量写入性能缺乏独立 benchmark 验证。
- 文档站
cortexa-db.vercel.app存在 SSL 证书问题,无法验证完整文档内容。 - PyPI 页面受 JS challenge 保护,无法验证包详情。
use_graph()图遍历的具体算法(BFS/DFS/PageRank 等)及深度限制未说明。cortexadb-core是否已发布至 crates.io 未明确。