我们想展示2.0版本中的异步RAG管道。已经在以下代码中包含了异步2.0版本的代码:4853469
hkmswyz61#
请注意:我们目前不知道asyncio是否真的是最佳解决方案。也许线程可能实际上更好。@ArzelaAscoIi和我希望在本周五再尝试一次。
asyncio
niwlg2el2#
Depriotized for the beta release since we wont break existing functionality.
c6ubokkw3#
我们能把这个带回来吗?我很想有异步,这样后端的工作就会变得简单一些——尤其是如果你在管道中调用的主要是REST端点。
d4so4syb4#
老实说,如果非常理想的话,那么会使用Rust作为后端来处理异步/多线程(Rust中没有GIL)/多进程以提高效率,并在Python中通过某种方式暴露API,以便在Rust或Python中创建组件;)
rvpgvaaj5#
大家好,欢迎来到这个帖子。我们将在下周二在我们的Discord服务器上举办一场异步办公时间。办公时间是友好的非正式会议。我们很乐意在那里见到你,了解更多关于你的用例,也许分享你现在可以实现的一些功能,这些功能可能会解决你的问题。活动链接:https://discord.com/events/993534733298450452/1232379918822932530期待在那里见到你!
brjng4g36#
你好!关于使用haystack的异步组件,有没有一个干净的大纲?如果我们不能编写所有组件的异步(我们通过FastAPI提供聊天端点)这对我们来说将是一个致命的问题。如果haystack提供的大多数组件都是异步的,那就更好了。由于我们很快就要进行代码重构,所以希望能尽快得到更新。非常感谢!
hof1towb7#
你好,@tostenzel,我们正在引入一个AsyncPipeline,以及一些组件的子集,支持异步执行是有意义的。AsyncPipeline将能够运行非异步组件,因此它将是普通Pipeline的无缝替代品。
AsyncPipeline
Pipeline
voj3qocg8#
尽管这仍在开发中,但我想提议支持Trio作为异步框架。Trio是一个面向人类的异步API。使用Asyncio编写声音代码众所周知是困难的。我建议阅读一些these items以了解原因。Trio通过遵循“结构化并发”的原则,使编写干净、可跟踪的异步代码变得容易数个数量级。它对我来说真的是一个救命稻草,我想象它对许多人也是如此。可能让Haystack同时支持Trio和Asyncio异步框架的最简单的方法是使用AnyIO。
hs1rzwqc9#
你好,@tostenzel,我们正在引入一个AsyncPipeline,以及一些组件的子集,支持异步执行是有意义的。AsyncPipeline将能够运行非异步组件,因此它将是普通Pipeline的无缝替换。@masci,你预计何时发布这个功能?
9条答案
按热度按时间hkmswyz61#
请注意:我们目前不知道
asyncio
是否真的是最佳解决方案。也许线程可能实际上更好。@ArzelaAscoIi和我希望在本周五再尝试一次。niwlg2el2#
Depriotized for the beta release since we wont break existing functionality.
c6ubokkw3#
我们能把这个带回来吗?我很想有异步,这样后端的工作就会变得简单一些——尤其是如果你在管道中调用的主要是REST端点。
d4so4syb4#
老实说,如果非常理想的话,那么会使用Rust作为后端来处理异步/多线程(Rust中没有GIL)/多进程以提高效率,并在Python中通过某种方式暴露API,以便在Rust或Python中创建组件;)
rvpgvaaj5#
大家好,欢迎来到这个帖子。我们将在下周二在我们的Discord服务器上举办一场异步办公时间。办公时间是友好的非正式会议。我们很乐意在那里见到你,了解更多关于你的用例,也许分享你现在可以实现的一些功能,这些功能可能会解决你的问题。
活动链接:https://discord.com/events/993534733298450452/1232379918822932530
期待在那里见到你!
brjng4g36#
你好!关于使用haystack的异步组件,有没有一个干净的大纲?
如果我们不能编写所有组件的异步(我们通过FastAPI提供聊天端点)这对我们来说将是一个致命的问题。如果haystack提供的大多数组件都是异步的,那就更好了。
由于我们很快就要进行代码重构,所以希望能尽快得到更新。非常感谢!
hof1towb7#
你好,@tostenzel,我们正在引入一个
AsyncPipeline
,以及一些组件的子集,支持异步执行是有意义的。AsyncPipeline
将能够运行非异步组件,因此它将是普通Pipeline
的无缝替代品。voj3qocg8#
尽管这仍在开发中,但我想提议支持Trio作为异步框架。Trio是一个面向人类的异步API。
使用Asyncio编写声音代码众所周知是困难的。我建议阅读一些these items以了解原因。Trio通过遵循“结构化并发”的原则,使编写干净、可跟踪的异步代码变得容易数个数量级。它对我来说真的是一个救命稻草,我想象它对许多人也是如此。
可能让Haystack同时支持Trio和Asyncio异步框架的最简单的方法是使用AnyIO。
hs1rzwqc9#
你好,@tostenzel,我们正在引入一个
AsyncPipeline
,以及一些组件的子集,支持异步执行是有意义的。AsyncPipeline
将能够运行非异步组件,因此它将是普通Pipeline
的无缝替换。@masci,你预计何时发布这个功能?