``` async RAG pipeline in haystack 2.0 ```

guicsvcw  于 5个月前  发布在  其他
关注(0)|答案(9)|浏览(69)

我们想展示2.0版本中的异步RAG管道。
已经在以下代码中包含了异步2.0版本的代码:4853469

hkmswyz6

hkmswyz61#

请注意:我们目前不知道asyncio是否真的是最佳解决方案。也许线程可能实际上更好。@ArzelaAscoIi和我希望在本周五再尝试一次。

niwlg2el

niwlg2el2#

Depriotized for the beta release since we wont break existing functionality.

c6ubokkw

c6ubokkw3#

我们能把这个带回来吗?我很想有异步,这样后端的工作就会变得简单一些——尤其是如果你在管道中调用的主要是REST端点。

d4so4syb

d4so4syb4#

老实说,如果非常理想的话,那么会使用Rust作为后端来处理异步/多线程(Rust中没有GIL)/多进程以提高效率,并在Python中通过某种方式暴露API,以便在Rust或Python中创建组件;)

rvpgvaaj

rvpgvaaj5#

大家好,欢迎来到这个帖子。我们将在下周二在我们的Discord服务器上举办一场异步办公时间。办公时间是友好的非正式会议。我们很乐意在那里见到你,了解更多关于你的用例,也许分享你现在可以实现的一些功能,这些功能可能会解决你的问题。
活动链接:https://discord.com/events/993534733298450452/1232379918822932530
期待在那里见到你!

brjng4g3

brjng4g36#

你好!关于使用haystack的异步组件,有没有一个干净的大纲?
如果我们不能编写所有组件的异步(我们通过FastAPI提供聊天端点)这对我们来说将是一个致命的问题。如果haystack提供的大多数组件都是异步的,那就更好了。
由于我们很快就要进行代码重构,所以希望能尽快得到更新。非常感谢!

hof1towb

hof1towb7#

你好,@tostenzel,我们正在引入一个AsyncPipeline,以及一些组件的子集,支持异步执行是有意义的。AsyncPipeline将能够运行非异步组件,因此它将是普通Pipeline的无缝替代品。

voj3qocg

voj3qocg8#

尽管这仍在开发中,但我想提议支持Trio作为异步框架。Trio是一个面向人类的异步API。
使用Asyncio编写声音代码众所周知是困难的。我建议阅读一些these items以了解原因。Trio通过遵循“结构化并发”的原则,使编写干净、可跟踪的异步代码变得容易数个数量级。它对我来说真的是一个救命稻草,我想象它对许多人也是如此。
可能让Haystack同时支持Trio和Asyncio异步框架的最简单的方法是使用AnyIO。

hs1rzwqc

hs1rzwqc9#

你好,@tostenzel,我们正在引入一个AsyncPipeline,以及一些组件的子集,支持异步执行是有意义的。AsyncPipeline将能够运行非异步组件,因此它将是普通Pipeline的无缝替换。
@masci,你预计何时发布这个功能?

相关问题