Activeloop Deep Lake 是一种多模态向量存储,用于存储嵌入及其元数据,包括文本、JSON、图像、音频、视频等。它将数据保存在本地、您的云端或 Activeloop 存储中。它执行混合搜索,包括嵌入及其属性。本笔记本展示了与
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 表示余弦相似度
最大边际相关性
使用最大边际相关性删除数据集
云端(Activeloop、AWS、GCS 等)或内存中的 Deep Lake 数据集
默认情况下,Deep Lake 数据集存储在本地。要将它们存储在内存中、Deep Lake 托管数据库中或任何对象存储中,您可以在创建向量存储时提供相应的路径和凭据。某些路径需要向 Activeloop 注册并创建 API 令牌,该令牌可在此处检索TQL 搜索
此外,查询的执行也支持在 similarity_search 方法中进行,其中可以使用 Deep Lake 的 Tensor Query Language (TQL) 指定查询。在 AWS S3 上创建向量存储
Deep Lake API
您可以通过db.vectorstore 访问 Deep Lake 数据集
将本地数据集传输到云端
将已创建的数据集复制到云端。您也可以从云端传输到本地。以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。