unstructured 增强建议:重构auto.py中分区器的elif语句,

cotxawn7  于 3个月前  发布在  其他
关注(0)|答案(4)|浏览(58)

在auto.py中,当通过elif语句检查filetype并将文档发送到正确的分区器时,存在很多冗余。本提案建议将用户可以定义的所有选项收集到一个单一的对象中,该对象可以被每个分区器解包,以便分区调用看起来如下所示,而不必显式传递所有参数(但仍然显式传递所有数据源参数):

if filetype == FileType.PDF:
        elements = partition_pdf(
            filename=filename,
            file=file,
            url=url,
            **kwargs,
        )
    if filetype == FileType.HTML:
        elements = partition_html
            filename=filename,
            file=file,
            url=url,
            **kwargs,
        )

我们可以创建一个PartitionerOptions(TypedDict)类型,用于指定可能出现为选项的所有关键字-值对的名称和类型。这有助于防止拼写错误等问题,并提供通用的类型安全性。

bkkx9g8r

bkkx9g8r1#

@scanny 你对这个可能/应该是什么样子有什么其他想法吗?

u5i3ibmn

u5i3ibmn2#

我在一个branch here中草拟了一些想法。它远未完成,可能过于重构,但沿着相同思路的一些想法

t3irkdon

t3irkdon3#

哦,很好。这个分支是否有一个开放的问题正在被开发?我承认我没有寻找任何与此相关的开放问题,但刚刚找到了这个:

$x^{#601}$

1tuwyuhd

1tuwyuhd4#

不,没有特定的问题,主要是周末的个人思考。它与#1521有一定关系。例如,减少我们周围传递的kwargs数量,并从长远来看简化用户体验。

相关问题