Support stream output in ModelResponsee
是否存在参数或者方法来接收agent的流式输出,方便对外提供
AgentScope 主要面向的是 multi-Agent 场景,其中各个Agent之间的交互的消息需要满足一定的格式信息,而流式传输会打破这一规则,因此目前的 AgentScope 没有提供 agent 级别的流式输出。如果仅仅是希望每个 Agent 对用户显示的内容为流式显示,可以通过修改 agent 内部的模型调用以及 speak 方法,让模型返回流式生成器并使用 speak 依次打印。
我们在未来的版本中可能会考虑加入一类特殊的支持流式输出的 Agent 对外提供流式 API 服务,但 AgentScope 内其他的 Agent 为了保证输入输出格式仍会保持现有的一次性输出。
好的,非常感谢您的及时回复 此外,我有个小想法: 因为在实际使用场景下,仅仅是对话内容,其实并不需要格式校验等工作,而实际在最终结果产生时,会生成大段文字,这种等待实际是非常耗时的。 因此,是否可以提供对llm的单独包装的方法、或者是对DialogAgent方法进行拓展,出一个可以在最后输出时将llm的输出流式生成的方式给出去的样例,这样可以减少极大的耗时。
方得始终 @.***
------------------ 原始邮件 ------------------ 发件人: "Xuchen @.>; 发送时间: 2024年5月9日(星期四) 中午11:42 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [modelscope/agentscope] agent输出如何做成流式? (Issue #202)
AgentScope 主要面向的是 multi-Agent 场景,其中各个Agent之间的交互的消息需要满足一定的格式信息,而流式传输会打破这一规则,因此目前的 AgentScope 没有提供 agent 级别的流式输出。如果仅仅是希望每个 Agent 对用户显示的内容为流式显示,可以通过修改 agent 内部的模型调用以及 speak 方法,让模型返回流式生成器并使用 speak 依次打印。
我们在未来的版本中可能会考虑加入一类特殊的支持流式输出的 Agent 对外提供流式 API 服务,但 AgentScope 内其他的 Agent 为了保证输入输出格式仍会保持现有的一次性输出。
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
感谢建议,我们会在近期加入流式数据处理方法,初期的构想是在ModelResponse对象中挂载stream属性,该属性会是generator类型,可以通过这个属性在获取ModelResponse对象后流式获取数据。 由于需要兼容不同模型的流式数据方案(e.g., OpenAI, DashScope, Gemini),该方案可能会有一些变动,我们会在近期支持加入支持。
非常感谢回复,期待你们的成果
方得始终 @.***
------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2024年5月11日(星期六) 中午11:23 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [modelscope/agentscope] agent输出如何做成流式? (Issue #202)
感谢建议,我们会在近期加入流式数据处理方法,初期的构想是在ModelResponse对象中挂载stream属性,该属性会是generator类型,可以通过这个属性在获取ModelResponse对象后流式获取数据。 由于需要兼容不同模型的流式数据方案(e.g., OpenAI, DashScope, Gemini),该方案可能会有一些变动,我们会在近期支持加入支持。
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
- [x] Parse the model response explicitly within the agent.
- [x] Support generator in
ModelResponseandself.speak - [x] Support stream in AgentScope Studio