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

如何向含时间戳元数据的Llama Index插入新文档(带Time-Weighted Postprocessor)

带时间权重重排的Llama Index新文档插入方案

1. 文档预处理:提取文本+设置时间戳元数据

先处理PDF、DOCX等格式的新文档,提取文本并为每个文档块添加符合要求的时间戳元数据(这是Time-Weighted Rerank生效的核心):

  • 用Llama Index自带的SimpleDirectoryReader加载文档,原生支持PDF、DOCX等常见格式:
    from llama_index import SimpleDirectoryReader
    
    # 加载单个或多个目标文档
    documents = SimpleDirectoryReader(input_files=["new_manual.pdf", "Q2_report.docx"]).load_data()
    
  • 为文档添加时间戳元数据:可从文件系统获取修改/创建时间,或手动指定统一格式的时间(推荐ISO 8601):
    import os
    from datetime import datetime
    
    for doc in documents:
        # 从文件路径获取修改时间作为时间戳
        file_path = doc.metadata.get("file_path")
        if file_path:
            mod_timestamp = os.path.getmtime(file_path)
            doc.metadata["timestamp"] = datetime.fromtimestamp(mod_timestamp).isoformat()
        # 若需手动指定时间,替换为以下行
        # doc.metadata["timestamp"] = "2024-05-20T16:45:00"
    

2. 连接现有索引并插入文档

加载已配置好Time-Weighted Rerank的现有索引,将预处理后的文档插入并持久化更新:

  • 加载现有索引的存储上下文:
    from llama_index import load_index_from_storage, StorageContext
    
    # 替换为你实际的索引存储目录
    storage_context = StorageContext.from_defaults(persist_dir="./existing_index_storage")
    index = load_index_from_storage(storage_context)
    
  • 插入新文档并持久化:
    # 将预处理后的文档插入索引
    index.insert_nodes(documents)
    # 保存更新后的索引,确保下次加载时生效
    index.storage_context.persist(persist_dir="./existing_index_storage")
    

3. 验证时间权重重排效果

插入完成后,通过查询引擎验证结果是否按时间权重排序(现有索引的Time-Weighted Rerank配置会自动应用到新文档):

query_engine = index.as_query_engine()
# 替换为你的测试查询
response = query_engine.query("Q2季度的核心业务数据有哪些?")
print(response)

关键注意事项

  • 时间戳格式必须统一:建议使用ISO 8601格式(如2024-05-20T16:45:00),确保排序逻辑准确。
  • 分块继承元数据:Llama Index拆分文档为块时,每个块会自动继承原文档的timestamp元数据,无需单独设置。
  • 保持分块策略一致:若现有索引使用了自定义节点构造器,插入新文档时建议沿用相同的分块参数(如块大小、重叠率),避免影响重排效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 21:36:17