当前位置: 首页 > 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)

相关文章:

  • 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 反转链表
  • 电子电气架构 --- 新能源汽车电子电气系统功能需求
  • 福州做企业网站/资源搜索神器
  • 99微分销系统/seo经理
  • 怎么直接做免费网站/微信运营方案
  • 寿光市建设局网站/企业网站模板免费
  • 攀枝花移动网站建设/网站历史权重查询
  • 做好的网站如何上线/seo的含义是什么意思