You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Deeplake向量库全部文档并按文件名筛选?

Deeplake向量库:全量文档获取与元数据筛选方案

一、获取全部文档

你可以直接遍历Deeplake数据集的所有元素来获取全部文档,示例代码如下:

all_docs = []
# 遍历数据集每个条目
for item in db.dataset:
    # 提取内容和元数据,转换为Document对象(适配LangChain场景)
    doc = Document(
        page_content=item['text'].data()['value'],
        metadata=item['metadata'].data()['value']
    )
    all_docs.append(doc)

其中db是你的Deeplake向量库实例,若无需适配LangChain,直接提取原始数据即可。

二、按metadata.file_name筛选文档

方法1:遍历筛选

在遍历过程中加入文件名匹配条件,精准筛选目标文档:

target_file = "solid.min.js"
filtered_docs = []

for item in db.dataset:
    metadata = item['metadata'].data()['value']
    if metadata.get('file_name') == target_file:
        doc = Document(
            page_content=item['text'].data()['value'],
            metadata=metadata
        )
        filtered_docs.append(doc)

方法2:利用LangChain集成的过滤能力

如果使用LangChain对接Deeplake,可直接在查询时传入过滤参数,无需全量遍历:

target_file = "solid.min.js"
# 用空查询配合过滤条件获取匹配文档
filtered_docs = db.similarity_search(
    query="",
    filter={"metadata": {"file_name": target_file}}
)

部分版本中若空查询不生效,可改用search方法配合通配符查询:

filtered_docs = db.search(
    query="*",
    search_type="hybrid",
    filter={"metadata": {"file_name": target_file}}
)

内容的提问来源于stack exchange,提问作者alpa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 14:54:26