openai类sse流式请求报错httpx.ReadTimeout: The read operation timed out

这表示流式过程中的下一个块没有在规定时间内read出来,可能由于奇奇怪怪的原因总有个别请求中途出错,如果不设置read的超时时间在openai库中会设置成和timeout一样的时长,进而阻塞我们整体的响应时长,极大的音效体验

这是openai默认的超时设置

DEFAULT_TIMEOUT = httpx.Timeout(timeout=600.0, connect=5.0)

这里没有设置read参数,所以httpx库会设成和timeout一样的数值,你可以在创建openai类的时候手动设置timeout数值,比如

client = OpenAI(timeout=httpx.Timeout(300, read=20, write=20, connect=10))

这里我read设的20s,大家可以自行调节

参数解释

  • connect 连接超时指定与请求的主机建立套接字连接之前等待的最长时间。 如果 HTTPX 无法在此时间范围内连接,则会引发 ConnectTimeout 异常。
  • read timeout 指定等待接收数据块(例如响应正文的块)的最大持续时间。 如果 HTTPX 无法在此时间范围内接收数据,则会引发 ReadTimeout 异常。
  • write timeout 指定等待发送数据块(例如请求正文的块)的最大持续时间。 如果 HTTPX 无法在此时间范围内发送数据,则会引发 WriteTimeout 异常。
  • pool timeout 指定等待从连接池获取连接的最大持续时间。 如果 HTTPX 无法在此时间范围内获取连接,则会引发 PoolTimeout 异常。 这里的一个相关配置是连接池中允许的最大连接数,它是由limits参数配置的。
  • 官网:Timeouts - HTTPX
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值