摘要
arXiv:2410.12189v3 通知类型: replace-cross
摘要:处理非结构化数据一直是数据处理中的一个持续性挑战。大型语言模型(LLMs)在这方面表现出潜力,导致了最近提出了一些声明式的框架来利用LLM处理非结构化数据。然而,这些框架主要关注在执行用户指定的操作时降低成本,而不是提高准确性,大多数操作都是按原样执行(在一个LLM调用中)。对于复杂的任务和数据而言,这是一种问题,因为即使经过优化提示,用户自定义操作的LLM输出也时常不准确。例如,LLM可能在处理冗长的法律文件时难以识别所有特定的条款,如不可抗力或赔偿条款,这需要分解数据、任务或两者。
我们提出了DocETL系统,该系统优化了复杂的文档处理流水线,并考虑到LLM的不足之处。DocETL提供了一个声明性接口,让用户定义这些流水线,并采用基于代理的方法自动优化它们,利用新颖的基于代理的重写(我们称之为重写指令),以及一个优化和评估框架。我们引入了(i) 针对基于LLM的任务进行逻辑重写的流水线,(ii) 由代理指导的计划评估机制,该机制合成和协调特定任务的验证提示,以及(iii) 一种优化算法,该算法能够高效地找到有前景的计划,同时考虑基于代理的计划生成和评估的延迟。我们在四个不同的非结构化文档分析任务上的评估表明,DocETL找到了比精心设计的基线更准确25%到80%的计划,填补了非结构化数据分析中的关键缺口。DocETL在docetl.org上开源,并截至2025年3月,已在GitHub上积累了超过1700颗星,用户遍布多个领域。