Skip to main content
LambdaDB 是一个用于构建可扩展 RAG 和代理应用的无服务器 AI 数据库。
本笔记本介绍如何在 LangChain 中开始使用 LambdaDB 向量存储。

设置

要访问 LambdaDB 向量存储,您需要创建一个 LambdaDB 账户,获取项目凭据,并安装 langchain-lambdadb 集成包。

凭据

LambdaDB 使用基于项目的身份验证,包含项目 URL 和 API 密钥:
要启用模型调用的自动追踪,请设置您的 LangSmith API 密钥:

安装

LangChain LambdaDB 集成位于 langchain-lambdadb 包中:
您还需要安装一个嵌入模型。例如,要使用 OpenAI 嵌入:

实例化

LambdaDBVectorStore 适用于现有集合。您必须预先创建该集合,并配置适当的向量和文本索引。

关键参数

  • client: LambdaDB 客户端实例(必需)
  • collection_name: LambdaDB 中现有集合的名称(必需)
  • embedding: 要使用的嵌入函数(必需)
  • text_field: 文档中文本字段的名称(默认值:“text”)
  • vector_field: 文档中向量字段的名称(默认值:“vector”)
  • validate_collection: 是否验证集合是否存在且处于活动状态(默认值:True)
  • default_consistent_read: 默认使用一致读取以实现即时一致性,或使用最终一致性以获得更好的性能(默认值:False)

管理向量存储

添加项

文档的最大大小为 50KB。集成会自动将文档批处理为最多 100 个一组,以保持在 LambdaDB 的 6MB 请求限制内。

删除项

按 ID 获取项


查询向量存储

一旦您的向量存储已创建并添加了相关文档,您很可能希望在运行链或代理时查询它。

相似性搜索

执行简单的相似性搜索:

带分数的相似性搜索

如果您想执行相似性搜索并接收相应的分数:

带过滤的相似性搜索

LambdaDB 支持使用查询字符串语法进行过滤:

最大边际相关性 (MMR) 搜索

MMR 同时优化与查询的相似性和所选文档之间的多样性:

转换为检索器

您也可以将向量存储转换为检索器,以便在链中更轻松地使用:
支持的搜索类型:
  • "similarity": 标准相似性搜索(默认)
  • "mmr": 最大边际相关性搜索
  • "similarity_score_threshold": 带分数阈值的相似性搜索

异步操作

LambdaDBVectorStore 支持所有操作的异步方法:
目前,异步方法同步运行,因为 LambdaDB 客户端尚不支持异步操作。

一致性控制

LambdaDB 支持两种一致性模式:
  • 最终一致性(默认):性能更快,但写入后数据可能最多 ~1 分钟过时
  • 一致读取:即时一致性,对性能有轻微影响

从文本创建

您可以一步创建向量存储并用文本来填充它:

检索增强生成 (RAG) 用法

这是一个使用 LambdaDB 进行 RAG 的完整示例:

关键功能

文档大小限制

  • 最大文档大小:每个文档 50KB
  • 集成会验证文档大小,如果超出限制则抛出错误

批处理

  • 文档会自动以 100 个为一组进行批处理以进行 upsert 操作
  • 保持在 LambdaDB 的 6MB 请求限制内

过滤

  • 支持 LambdaDB 的查询字符串语法进行元数据过滤
  • 示例:filter={"queryString": {"query": "field:value"}}

搜索选项

  • 相似性搜索:查找与查询相似的文档
  • MMR 搜索:平衡相似性和多样性
  • 分数阈值:按相似性分数过滤结果
  • 一致读取:控制读取一致性与性能之间的权衡

API 参考

有关所有 LambdaDBVectorStore 功能和配置的详细文档,请访问 API 参考

其他资源