HeadlinesBriefing HeadlinesBriefing.com

RAG检索的行级表格分块

Towards Data Science •
×

当问题针对表格中的单行时,检索整个表格会迫使生成模型过滤39个无关行。与问题匹配的单位是一行,而不是整个矩形。本文构建了一个行级索引,将每个数据行转换为其自身可检索的分块,因此像“车辆盗窃的赔付上限是多少?”这样的查询会精确返回该行及其列标题。

serialize_table_rows 函数扫描解析器的 line_df,将连续的管道符行分组为表格,读取分隔符上方的表头行,并为每个数据行输出一个输出行。每个分块被序列化为 col: val | col: val 的形式,LLM 可以自然地读取它,并且无需更改即可与现有的关键词和嵌入检索器组合使用。

行级索引是第二个尺度,而不是替代品。调度器将针对性查找路由到行级索引,综合类问题会在同一表格的所有行上触发(通过共享的 table_id 检测),而混合查询则结合两者。从未启用行级索引的下游检索器保持不变地继续工作,而启用了行级索引的检索器则显式读取第二个帧。

可运行代码位于 doc-intel/notebooks-vol1,在 Attention 论文的表 1 上演示了 serialize_table_rows,并返回一行而不是整个表格。

来源: Towards Data Science · 由HeadlinesBriefing整理摘要