BUG: gradio RuntimeError: async generator raised StopAsyncIteration

BUG: gradio RuntimeError: async generator raised StopAsyncIteration

环境

python 复制代码
gradio                        4.20.0

详情

在使用gradio编写大模型可视化demo的时候,大模型正常输出,但gradio弹出此错误。

经过排除,发现是返回方式的问题,gradio传输信息给web网页的时候,我使用了return,但实际上应该 使用yield

解决方法

return改为yield

例子

python 复制代码
# 旧
def generate(message: str) -> Iterator[str]:
    stream = False
    response = "你好"
    if stream:
        for _ in range(5):
		        response += response
            yield response
    else:
        return response  # 错误

# 新
def generate(message: str) -> Iterator[str]:
    stream = False
    response = "你好"
    if stream:
        for _ in range(5):
		        response += response
            yield response
    else:
        yield response  # 正确

相关推荐
❀搜不到1 小时前
isat-sam分割导出掩码图
开发语言·python
Zane19941 小时前
ClassName() 只是一步?拆开看 __new__ 和 __init__ 各自在干什么
后端·python
曾阿伦1 小时前
Trae CN Python环境调试debug指南
开发语言·python
渣男教父2 小时前
Python游戏自动化实战案例
python·编程语言
天天爱吃肉82182 小时前
【工程师笔记|新能源整车电控一次过CISPR25/BCI,汽车EMC/EMI落地十大核心设计技巧】
大数据·人工智能·笔记·python·汽车
m0_617493942 小时前
Python 使用 cryptography 实现数据加密与解密
开发语言·python
万山寒2 小时前
python依赖包导出离线安装到没有外网的服务器
服务器·开发语言·python
加油码2 小时前
探秘 volatile关键字:编译器的过度优化
linux·bug·信号处理
程序员雷欧3 小时前
LongAdder
开发语言·python
月光船幽幽3 小时前
分层阈值规避归藏协议过度重置
人工智能·python