SurrealDB 是一个专为 AI 系统构建的统一多模型数据库。它将结构化和非结构化数据(包括向量搜索、图遍历、关系查询、全文搜索、文档存储和时间序列数据)整合到单一符合 ACID 的引擎中,可从 3 MB 的边缘二进制文件扩展至云端 PB 级集群。通过消除对多个专用存储的需求,SurrealDB 简化了架构,降低了延迟,并确保 AI 工作负载的一致性。 SurrealDB 对 GenAI 系统的价值本笔记本介绍如何开始使用 SurrealDB 向量存储。
- 存储与记忆合二为一: 在单一系统中结合持久存储和快速的 Agent 友好型内存,为 Agent 提供所需的所有数据,无需同步多个系统。
- Agent 的单跳记忆: 在单个查询中执行向量搜索、图遍历、语义连接和事务写入,为 LLM Agent 提供快速、一致的内存访问,无需拼接关系型、图形和向量数据库。
- 就地推理与实时更新: SurrealDB 使 Agent 能够在数据旁边运行推理并接收毫秒级的实时更新,这对于实时推理和协作至关重要。
- 版本化的持久上下文: SurrealDB 支持时间旅行查询和版本化记录,让 Agent 能够审计或“回放”过去的状态,实现一致且可解释的推理。
- 即插即用的 Agent 记忆: 将 AI 记忆作为原生概念暴露,使 SurrealDB 可轻松作为 AI 框架的后端替代品。
设置
你可以在本地运行 SurrealDB,也可以使用免费的 SurrealDB 云账户。 本地运行有两种方式:-
安装 SurrealDB 并运行 SurrealDB。使用内存模式运行:
-
使用 Docker 运行。
安装依赖
安装langchain-surrealdb 和 surrealdb Python 包。
初始化
管理向量存储
向向量存储添加项目
更新向量存储中的项目
从向量存储删除项目
查询向量存储
向量存储创建完成并添加相关文档后,你通常会在运行链或 Agent 时对其进行查询。直接查询
执行简单的相似度搜索方法如下:转换为检索器进行查询
你也可以将向量存储转换为检索器,以便在链中更方便地使用。用于检索增强生成
有关如何将此向量存储用于检索增强生成(RAG)的指南,请参阅以下章节:API 参考
有关SurrealDBVectorStore 所有功能和配置的详细文档,请参阅 API 参考:python.langchain.com/api_reference/surrealdb/index.html
后续步骤
- 查看基础示例,使用 Dockerfile 试用!
- 查看图形示例
- 试用 Jupyter 笔记本
- Awesome SurrealDB,精选的 SurrealDB 资源、工具、实用程序和应用程序列表
通过 MCP 将这些文档连接到 Claude、VSCode 等工具,获取实时解答。

