
️ Chunk标记功能说明功能概述Chunk标记功能会在每个文本块的末尾自动添加一个特殊标记包含chunk的元数据信息如chunk_id、章节、时间戳等。这有助于在Dify知识库中更好地识别和管理chunk。默认标记格式启用状态默认开启add_chunk_marker True默认模板chunk_marker_template \n\n--- [Chunk #{chunk_id} | Section: {section} | {timestamp}] ---示例输出This paper presents a novel approach for vulnerability detection using deep learning. --- [Chunk #1 | Section: Abstract | ] ---可用变量在自定义标记模板中可以使用以下变量变量说明示例{chunk_id}Chunk编号1, 2, 3...{section}章节名称Abstract, Introduction, Method...{filename}源文件名paper.pdf{timestamp}处理时间戳{year}论文发表年份2024, 2023...{category}论文类型英文vulnerability_mining{category_cn}论文类型中文漏洞挖掘使用方法方法1使用默认标记推荐python process_papers.py --input ./papers方法2禁用chunk标记python process_papers.py --input ./papers --no-marker方法3使用自定义标记简洁时间戳格式python process_papers.py --input ./papers \ --marker-template \n\n--- [{timestamp}] Chunk #{chunk_id} ---Dify友好格式便于检索python process_papers.py --input ./papers \ --marker-template \n\n[EOF_CHUNK]\nid:{chunk_id}\nsection:{section}\n[/EOF_CHUNK]完整信息格式python process_papers.py --input ./papers \ --marker-template \n\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n Chunk #{chunk_id} | {section}\n {filename} | {year}\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━推荐的标记格式1. 简洁格式适合快速识别\n\n--- [Chunk #{chunk_id}] ---优点标记简短不占用太多token易于识别chunk边界适用场景需要节省token空间快速浏览内容2. 详细格式默认推荐\n\n--- [Chunk #{chunk_id} | Section: {section} | {timestamp}] ---优点包含关键信息章节、时间戳便于调试和追踪平衡信息量和简洁性适用场景通用场景需要快速定位特定章节3. Dify友好格式便于检索和过滤\n\n[EOF_CHUNK]\nid:{chunk_id}\nsection:{section}\nyear:{year}\ncategory:{category}\n[/EOF_CHUNK]优点使用特殊标签包围便于正则提取包含所有元数据适合在Dify中进行高级过滤适用场景需要按章节、年份、类型检索构建复杂的查询条件4. 完整信息格式适合调试\n\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n Chunk #{chunk_id} | {section}\n Source: {filename} | Year: {year} | Category: {category}\n Processed: {timestamp}\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━优点信息最完整视觉上突出便于问题追踪适用场景调试和验证需要详细的元数据在Dify中的使用1. 识别chunk边界在Dify的检索结果中可以通过标记快速识别不同的chunk... vulnerability detection using deep learning. --- [Chunk #5 | Section: Method | ] --- Our method consists of three main components...2. 按章节检索在Prompt中指示模型关注特定章节请重点关注标记为 Section: Abstract 或 Section: Conclusion 的chunk3. 追踪来源通过标记中的时间戳和文件名可以追踪每个chunk的来源从时间戳为 的结果中查找最新处理的chunk配置文件修改你也可以直接修改配置文件src/pdf_processor/config.pyOUTPUT_CONFIG { # ... 其他配置 # 是否在content末尾添加chunk标记 add_chunk_marker: True, # chunk标记格式 chunk_marker_template: \n\n--- [Chunk #{chunk_id} | Section: {section}] ---, # 时间戳格式 chunk_timestamp_format: %Y-%m-%d %H:%M:%S, }测试工具查看不同标记格式的效果python test_chunk_markers.py这将展示5种不同标记格式的效果帮助你选择最适合的格式。简单测试单个chunkpython test_chunk_marker_simple.py注意事项1. Token消耗添加chunk标记会增加每个chunk的token消耗简洁格式~10-15 tokens详细格式~20-30 tokens完整格式~50-70 tokens建议根据你的token预算和实际需求选择格式。2. Dify分段设置在使用chunk标记时建议在Dify中索引模式高质量分段设置使用CSV自带分段不要自动分段预处理保留元数据3. 兼容性所有标记格式都兼容Dify CSV导入标记会被包含在content中但不影响向量化和检索可以在Prompt中指示模型忽略标记示例场景场景1构建按章节检索的知识库python process_papers.py --input ./papers \ --marker-template \n\n[SECTION:{section}][ID:{chunk_id}]在Dify中查询检索所有 [SECTION:Abstract] 或 [SECTION:Conclusion] 的内容场景2追踪最新处理的论文python process_papers.py --input ./papers \ --marker-template \n\n--- [{timestamp}] {filename} Chunk #{chunk_id} ---在Dify中查询找出所有时间戳为 的chunk场景3按年份和类型筛选python process_papers.py --input ./papers \ --marker-template \n\n[Year:{year}][Type:{category}] Chunk #{chunk_id}在Dify中查询只检索 [Year:2024] 且 [Type:vulnerability_mining] 的chunk常见问题Q1: 可以禁用chunk标记吗A: 可以使用--no-marker参数python process_papers.py --input ./papers --no-markerQ2: chunk标记会影响检索质量吗A: 影响极小。标记只占很小的比例而且通常位于chunk末尾不会影响主要内容。如果担心可以使用简洁格式或禁用标记。Q3: 可以在处理后再添加标记吗A: 不推荐。建议在处理时添加这样可以确保标记与chunk同步。如果需要可以写脚本批量修改CSV文件。Q4: 时间戳格式可以修改吗A: 可以修改配置文件中的chunk_timestamp_formatchunk_timestamp_format: %Y-%m-%d # 只保留日期Q5: 标记中的中文会显示乱码吗A: 不会。CSV文件使用UTF-8-BOM编码完美支持中文。进阶用法动态标记格式根据不同的论文类型使用不同的标记# 在 processor.py 中修改 def process_file(self, pdf_path: str) - List[Dict]: # ... 现有代码 ... # 根据category选择标记格式 if metadata[category] llm_security: OUTPUT_CONFIG[chunk_marker_template] \n\n[LLM] Chunk #{chunk_id} else: OUTPUT_CONFIG[chunk_marker_template] \n\n--- [Chunk #{chunk_id}] --- # ... 现有代码 ...添加自定义信息在metadata中添加自定义字段然后在标记中使用chunk[metadata][custom_field] 重要 template \n\n--- [#{chunk_id} | Tag: {custom_field}] ---总结Chunk标记功能提供了灵活的方式来增强CSV输出便于在Dify中更好地管理和检索知识库内容。根据你的具体需求选择合适的标记格式或自定义你需要的格式。推荐配置通用场景使用默认详细格式Token敏感使用简洁格式高级检索使用Dify友好格式祝你的知识库构建顺利