python 流响应线chatgpt

sdnqo3pr  于 2023-11-15  发布在  Python
关注(0)|答案(1)|浏览(92)

有谁知道我是否可以在Streamlit中使用streamlit_chat消息显示类似聊天的流响应?
我需要类似的消息(streaming=True)或任何其他替代品。我的代码段如下:

from streamlit_chat import message
import streamlit as st

for i in range(len(st.session_state['generated']) - 1, -1, -1):
      message(st.session_state['past'][i], is_user=True, key=str(i) + '_user')
      message(st.session_state["generated"][i], key=str(i))`

字符串
我希望像steamlit应用程序上的chatgpt一样的响应流

nwlls2ji

nwlls2ji1#

我不确定Streamlit中的流媒体策略,但这里有一个客户端流媒体的通用黑客逻辑,

import asyncio, shlex, subprocess, sys
async def subprocess_async(cmd, **kwargs):
    cmd_list = shlex.split(cmd)
    proc = await asyncio.create_subprocess_exec(
        *cmd_list,
        stdout=asyncio.subprocess.PIPE,
        stderr=asyncio.subprocess.STDOUT,
        **kwargs)

    answer = ""
    while proc.returncode is None:
        buf = await proc.stdout.read(4)
        if not buf:
            return
        buf = buf.decode("utf-8")
        print(buf, end="")
        sys.stdout.flush()
        answer += buf
    res = subprocess.CompletedProcess(cmd, proc.returncode,  stdout=answer, stderr=b'')
    return res

字符串
X =“Python是一种高级、解释型、通用编程语言。它是一种功能强大、用途广泛的语言,可用于从Web开发到数据科学的各种应用程序。Python以其可读性和易用性而闻名,使其成为初学者的绝佳语言。它还有一个庞大而活跃的开发人员社区,为该语言及其库做出贡献。“
第一个月

相关问题