Activeloop Deep Lake 是一个多模态向量存储,可存储嵌入向量及其元数据,包括文本、JSON、图像、音频、视频等多种类型的数据。它支持将数据保存在本地、您的云端或 Activeloop 的存储服务上,并支持包含嵌入向量及其属性的混合搜索。本 notebook 展示了
Activeloop Deep Lake 的基本功能。Deep Lake 不仅能存储嵌入向量,还能存储任何类型的数据。它是一个无服务器的数据湖,具备版本控制、查询引擎以及面向深度学习框架的流式数据加载器。
更多信息请参阅 Deep Lake 文档
环境准备
Activeloop 官方示例
与 LangChain 集成。本地使用 Deep Lake
创建本地数据集
在./my_deeplake/ 本地创建数据集,然后执行相似度搜索。Deeplake+LangChain 集成在底层使用 Deep Lake 数据集,因此 dataset(数据集)和 vector store(向量存储)可互换使用。要在自己的云端或 Deep Lake 存储中创建数据集,请相应调整路径。
查询数据集
read_only=True 可防止在不需要更新时意外修改向量存储,确保数据保持不变,除非有明确的修改意图。通常建议指定此参数以避免意外更新。
检索问答
基于元数据属性的过滤
让我们创建另一个向量存储,其元数据中包含文档创建年份。选择距离函数
距离函数:L2 表示欧氏距离,cos 表示余弦相似度
最大边际相关性
使用最大边际相关性删除数据集
云端 Deep Lake 数据集(Activeloop、AWS、GCS 等)或内存模式
默认情况下,Deep Lake 数据集存储在本地。要将其存储在内存、Deep Lake 托管数据库或任何对象存储中,您可以在创建向量存储时提供对应的路径和凭证。某些路径需要在 Activeloop 注册并创建 API token,可在此处获取。TQL 搜索
此外,similarity_search 方法支持执行查询,可利用 Deep Lake 的张量查询语言(TQL)来指定查询条件。
在 AWS S3 上创建向量存储
Deep Lake API
您可以通过db.vectorstore 访问 Deep Lake 数据集
将本地数据集迁移至云端
将已创建的数据集复制到云端。您也可以从云端迁移到本地。Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

