pdf论文处理:CSV输出模式

CSV输出模式(新增)

问题:标准CSV格式的分段问题

在标准CSV格式中,CSV有三列:

  • content: 文本内容 + 分隔符
  • metadata: JSON格式的元数据
  • source: 源文件名

问题 :分隔符在content列末尾,后面还有metadata和source列,Dify可能无法正确识别分隔符的位置,导致分段不准确。

解决方案:Merged模式

Merged模式 将所有信息合并到content列,确保分隔符在最末尾。

CSV格式对比:

Standard模式(三列):

复制代码
content,metadata,source "文本内容...","{""category"":""vulnerability_mining"",""year"":""2024"",""section"":""Abstract"",""chunk_id"":1}",paper.pdf 
  • ❌ 分隔符后面还有metadata和source列
  • ❌ Dify可能无法正确分段

Merged模式(合并,推荐):

复制代码
content,metadata,source "文本内容...[Metadata: {""category"":""vulnerability_mining"",""year"":""2024"",""section"":""Abstract"",""char_count"":135,""source_file"":""paper.pdf"",""title"":""Title""}] [Source: paper.pdf]",, 
  • ✅ 所有信息在content中
  • ✅ 分隔符在最末尾
  • ✅ Dify可以准确分段
  • ✅ 元数据在content中,不会丢失

使用方法

复制代码
# 默认使用merged模式(推荐) python process_papers.py --input ./papers # 等同于 python process_papers.py --input ./papers --csv-mode merged # 显式指定merged模式 python process_papers.py --input ./papers --csv-mode merged # 使用standard模式(不推荐) python process_papers.py --input ./papers --csv-mode standard 

测试两种模式

复制代码
# 测试CSV输出模式 python test_csv_modes.py 

这将生成两个对比CSV文件,并显示详细的格式对比。

元数据精简

在merged模式下,精简了元数据字段,仅保留核心检索字段:

保留的字段:

  • category: 论文类型
  • category_cn: 中文类型
  • year: 发表年份
  • section: 章节
  • char_count: 字符数
  • source_file: 来源文件
  • title: 论文标题

移除的字段:

  • chunk_id: 在merged模式下不需要

Dify导入设置(Merged模式)

  1. 上传CSV文件到Dify
  2. 设置分段标识符:
  3. 开始处理

重要:使用merged模式时,确保Dify的分段标识符与生成的CSV中的分隔符完全一致。

相关推荐
2401_8914092640 分钟前
量化数据13:港股分钟K线、Level2逐笔Tick、十档盘口和港股通历史数据的批量提取
数据库
实名上网宋凯宣6 小时前
Django
后端·python·django
w-w0w-w7 小时前
SQL注入
网络·数据库·sql
tianyuanwo7 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
一条泥憨鱼7 小时前
【计算机网络】短连接、长连接与连接池:从 TCP 握手到池化复用的完整链路
网络·数据库·网络协议·tcp/ip·计算机网络
如若1237 小时前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python
IvorySQL7 小时前
深入 PostgreSQL WAL:从崩溃恢复到逻辑复制
数据库·postgresql
幽灵诶9 小时前
Mysql(基于测试的学习)
数据库·mysql
砚底藏山河9 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
视觉小萌新9 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list