当前位置: 首页 > news >正文

使用chainlit出现【无法访问服务器】或【Could not reach the server.】解决方案

在用chainlit的时候老是出现

无法访问服务器。

或者 Could not reach the server.

刚开始以为是代码问题,但是后端代码打log依旧稳定输出,没有问题。

确保后端代码没问题之后,开始DEBUG,最终发现是chainlit本身的timeout的设置问题

相关 iuuse

  • https://github.com/Chainlit/chainlit/issues/441

DEBUG

启动脚本:chainlit run chainlit_example.py -w

example 1

import time
import chainlit as cl


def sync_func():
    time.sleep(60)
    return "Hello!"


@cl.on_message
async def main(message: cl.Message):
    print(message)
    answer = sync_func()
    await cl.Message(
        content=answer,
    ).send()
    print(answer)

print(answer)可以打印成功,但是前端界面显示超时。

example 2

如果把sleep改成10,则没问题

很显然是60s超时了,并在是对于一个@cl.on_message维度下有个超时的概念

example3

cl提供了这么个方法,可以异步的解决这个问题:cl.make_async

import time
import chainlit as cl


def sync_func():
    time.sleep(60)
    return "Hello!"


@cl.on_message
async def main(message: cl.Message):
    print(message)
    answer = await cl.make_async(sync_func)()
    await cl.Message(
        content=answer,
    ).send()
    print(answer)

这样就可以解决了,你甚至可以把sleep调大更多, 10min也是没问题的

example 4

如果本身func就是个sync方法怎么办呢,那就再打包一层!

import time

import asyncio
import chainlit as cl


async def sync_func():
    time.sleep(60)
    return "Hello!"

def func():
    return asyncio.run(sync_func())

@cl.on_message
async def main(message: cl.Message):
    print(message)
    answer = await cl.make_async(func)()
    await cl.Message(
        content=answer,
    ).send()
    print(answer)

http://www.dtcms.com/a/120985.html

相关文章:

  • Redis的主从复制
  • 解码AI大脑:Claude的思维显微镜与语言炼金术
  • 数学知识——矩阵乘法
  • 牛客KY222 打印日期
  • Spring Boot 3.5新特性解析:自动配置再升级,微服务开发更高效
  • 【设计模式】模板模式
  • LeetCode详解之如何一步步优化到最佳解法:26. 删除有序数组中的重复项
  • 解决leetcode第3510题移除最小数对使数组有序II
  • Flutter性能优化终极指南:从JIT到AOT的深度调优
  • 视频孪生赋能交警构建“空地一体“智慧交管体系的创新实践
  • leetcode797图论-对邻接矩阵和邻接表不同形式进行dfs与bfs遍历方法
  • 【C++差分数组 树上倍增】P6869 [COCI2019-2020#5] Putovanje|普及+
  • 电影舆情分析可视化平台管理端实现
  • Redisson的RedLock与联锁(MultiLock)的区别
  • 手持式RFID读写器对比固定式读写器的差异优势
  • Mathwork Platform - Matlab Help Center - Concept and Application
  • 前端面试宝典---数据类型
  • Redis基础指令(Windows)
  • 每日一题——AB10 反转链表
  • 电子电气架构 --- 新能源汽车电子电气系统功能需求
  • AI比人脑更强,因为被植入思维模型【51】效率思维模型
  • Conda 环境离线迁移实战:解决生产环境网络限制的高效方案20250409
  • Redis缓存之预热、击穿、穿透、雪崩
  • yolov8几种模型参数model 解读
  • 【MYSQL从入门到精通】数据类型及建表
  • 牛客 小红杀怪
  • 代码随想录算法训练营第十三天
  • FFT DFT 示波器
  • 期权时间价值与隐含波动率怎么选?
  • [特殊字符] 超轻高性能的 Rust HTTP 服务器 —— Hyperlane [特殊字符][特殊字符]