haystack 请确保运行方法返回带有注解值的字典,

j1dl9f46  于 4个月前  发布在  其他
关注(0)|答案(2)|浏览(48)

描述:

Haystack组件开发者有时会忘记遵循run方法在各个组件中的预期返回类型。具体来说,run方法旨在返回一个带有方法上注解的值的字典。

问题详情:

  • 预期行为 :跨不同组件,run方法应返回一个字典,其中键是注解输出类型,值是相应的结果。
  • 当前行为 :用户有时只返回值而不将它们封装在字典中,如输出注解所指定的那样。
  • 影响 :这种不一致可能导致管道运行时错误;用户在管道运行时发现他们犯了错误。我们应该更早地警告他们——在代码编写时。

示例:

run方法的正确实现如下所示:

@component.output_types(documents=List[Document])
def run(self, ...):
    ...
    return {"documents": docs}

然而,用户经常错误地将其实现为:

@component.output_types(documents=List[Document])
def run(self, ...):
    ...
    return docs
1u4esq0p

1u4esq0p1#

你好,我想把这个问题作为我在Haystack的第一个操作系统贡献,如果被允许的话!

谢谢!

wlzqhblo

wlzqhblo2#

我查看了所有的文件,它们都是返回字典,但是键有从answersrepliesvaluesdocument_written的众多键名。
你是否希望在所有返回字典中将documents作为键?

相关问题