SurrealDB 是一个统一的多模型数据库,专为 AI 系统打造。它将结构化和非结构化数据(包括向量搜索、图遍历、关系查询、全文搜索、文档存储和时间序列数据)组合到一个单一的 ACID 兼容引擎中,规模可从 3MB 的边缘二进制文件扩展到云端 PB 级集群。通过消除对多个专业存储的需求,SurrealDB 简化了架构,减少了延迟,并确保了 AI 工作负载的一致性。 为什么 SurrealDB 对生成式 AI 系统很重要本笔记本介绍了如何开始使用 SurrealDB 向量存储。
- 一个引擎用于存储和内存: 在一个系统中结合持久存储和快速、对代理友好的内存,提供代理所需的所有数据,并消除同步多个系统的需要。
- 代理的单跳内存: 在单个查询中运行向量搜索、图遍历、语义连接和事务性写入,使 LLM 代理能够快速、一致地访问内存,而无需将关系型、图和向量数据库拼接在一起。
- 原地推理和实时更新: SurrealDB 使代理能够进行数据旁推理并接收毫秒级新鲜更新,这对于实时推理和协作至关重要。
- 版本化、持久上下文: SurrealDB 支持时间旅行查询和版本化记录,允许代理审计或“重放”过去的状态,以实现一致、可解释的推理。
- 即插即用代理内存: 将 AI 内存作为原生概念公开,使得将 SurrealDB 作为 AI 框架的即插即用后端变得容易。
设置
您可以在本地运行 SurrealDB,或者从免费的 SurrealDB 云帐户开始。 对于本地部署,有两种选择:-
安装 SurrealDB 并运行 SurrealDB。在内存中运行:
-
使用 Docker 运行.
安装依赖项
安装langchain-surrealdb 和 surrealdb Python 包。
初始化
管理向量存储
向向量存储添加项目
更新向量存储中的项目
从向量存储中删除项目
查询向量存储
一旦您的向量存储被创建并添加了相关文档,您很可能希望在链或代理运行期间查询它。直接查询
执行简单的相似性搜索可以按如下方式完成通过转换为检索器进行查询
您还可以将向量存储转换为检索器,以便在您的链中更轻松地使用。用于检索增强生成的使用
有关如何将此向量存储用于检索增强生成 (RAG) 的指南,请参阅以下部分API 参考
有关所有SurrealDBVectorStore 功能和配置的详细文档,请参阅 API 参考:python.langchain.com/api_reference/surrealdb/index.html
后续步骤
- 查看基本示例。使用 Dockerfile 尝试一下!
- 查看图示例
- 尝试Jupyter Notebook
- Awesome SurrealDB,SurrealDB 资源、工具、实用程序和应用程序的精选列表
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。