你的功能请求是否与问题相关?请描述。
如果文档内容为空,[文档拆分器会引发错误](haystack/haystack/components/preprocessors/document_splitter.py
Line 89 in 91f5701
| | raiseValueError( |
.
这会导致索引失败,如果存在空文档。
描述你希望的解决方案
提供一个组件EmptyDocumentCleaner
,它接收文档列表并仅返回非空文档。
描述你考虑过的替代方案
我们可以将DocumentSplitter
更改为仅在文档为空时记录日志,而不是抛出异常。我认为这与Haystack 2的逻辑相悖,即最好有独立的小组件,以便用户可以根据需要调整行为。
一条日志行可能会对用户产生困扰,因为它违背了快速失败的原则,最终可能导致更难调试的问题。因此,在我看来,用户应该始终有选择权(哪种行为对他们的使用场景最合适)。
附加上下文
在这里添加有关功能请求的其他上下文或屏幕截图。
2条答案
按热度按时间wvyml7n51#
现在开始工作。
t3irkdon2#
我相信组件已经完成,但我想提出一个改进建议。我们可以通过创建一个在初始化时接受 predicate 的
DocumentFilter
组件来增加一个更高层次的抽象。当这个组件用文档列表调用时,它会返回两个列表:一个包含通过 predicate 的文档,另一个包含未通过 predicate 的文档。在这里创建的EmptyDocumentRemover
将是这个更通用的DocumentFilter
的一个特定情况。请告诉我你的想法。