调用openai接口,产生流式输出,怎么传给前端啊

百度了半天,demo都是输出到控制台的

1 个赞

可以参考:求问。如何用langchain流输出到前端,案例里面都是流输出到命令行, - #7,来自 admin

解决了吗这个问题

没有。。。。。。。

class streamToWeb(StreamingStdOutCallbackHandler):
    def __int__(self):
        self.tokens = [],
        self.finish = False

    def on_llm_new_token(self, token: str, **kwargs: Any) -> None:
        self.tokens.append(token)

    def generate_tokens(self) -> Generator:
        while not self.finish:
            if self.tokens:
                yield self.tokens.pop(0)
            else:
                time.sleep(1)

def streamChat():
    llm = ChatOpenAI(
        streaming=True,
        openai_api_key=OPENAI_API_KEY,
        callback_manager=CallbackManager([streamToWeb()]),
        temperature=0)

    messages = [
        HumanMessage(content="介绍下北京")
    ]

    llm(messages)

def read_tokens():
    return Response(streamToWeb.generate_tokens(), mimetype='text/plain')

streamChat()

@admin 老师,上面是我代码,能帮我看看有没有问题