我想知道如何使用Autogen的串流功能.

下面的代码使用Autogen使代理具有流功能.

llm_config = {
    "config_list" : config_list,
    "timeout" : 120,
    "seed" : random.randint(1, 100),
    "stream" : True
}

user_proxy.initiate_chat(
    manager,
    message="hello, the weather is nice today",
    llm_config=llm_config,
) 

我所知道的流功能是在句子结束之前打印和显示每个字母,但即使我使用选项("stream":true),结果也是整个文本在终端上输出.

我不确定我是误解了流媒体功能,还是知道如何正确使用它.你能帮帮忙吗? 谢谢您:)

推荐答案

目前,AutoGen还没有为您描述的流问题提供直接解决方案.GitHub上的开放问题缺乏解决方案,特别是与流媒体相关的问题,就证明了这一点(https://github.com/microsoft/autogen/issues?q=is%3Aissue+is%3Aopen+streaming).

但是,存在一种解决方法,它涉及使用"monkey patching"来修改负责打印接收到的消息的函数的行为.此方法允许您拦截和更改输出行为,以实现您正在寻找的流式效果.

猴子补丁技术可以通过重写库中的_print_Receipt_Message方法来实现.https://youtu.be/iNPCB6b5gvA中详细介绍了这种方法,它提供了关于如何有效地应用这种方法的逐步说明.

Python相关问答推荐

运行Python脚本时,用作命令行参数的SON文本

将两只Pandas rame乘以指数

移动条情节旁边的半小提琴情节在海运

当递归函数的返回值未绑定到变量时,非局部变量不更新:

如何使用scipy的curve_fit与约束,其中拟合的曲线总是在观测值之下?

干燥化与列姆化的比较

为什么t sns.barplot图例不显示所有值?'

GPT python SDK引入了大量开销/错误超时

一个telegram 机器人应该发送一个测验如何做?""

删除特定列后的所有列

获取git修订版中每个文件的最后修改时间的最有效方法是什么?

如何在Python中从html页面中提取html链接?

分解polars DataFrame列而不重复其他列值

为什么我只用exec()函数运行了一次文件,而Python却运行了两次?

一维不匹配两个数组上的广义ufunc

使用美汤对维基百科表格进行网络刮擦未返回任何内容

如何在不不断遇到ChromeDriver版本错误的情况下使用Selify?

有没有一种方法可以根据不同索引集的数组从2D数组的对称子矩阵高效地构造3D数组?

将时间序列附加到数据帧

为什么fizzbuzz在两个数字的条件出现在一个数字的条件之后时不起作用?