From 1a112c6908c159b0f04c4ab6fbeb18c154d7f592 Mon Sep 17 00:00:00 2001 From: liunux4odoo Date: Wed, 9 Aug 2023 23:48:41 +0800 Subject: [PATCH] update fastch_chat: disable streaming in swagger besides streaming in ApiRequest --- server/chat/openai_chat.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/server/chat/openai_chat.py b/server/chat/openai_chat.py index e6c93f8..2f55895 100644 --- a/server/chat/openai_chat.py +++ b/server/chat/openai_chat.py @@ -18,7 +18,7 @@ class OpenAiChatMsgIn(BaseModel): n: int = 1 max_tokens: int = 1024 stop: List[str] = [] - stream: bool = True + stream: bool = False presence_penalty: int = 0 frequency_penalty: int = 0 @@ -31,11 +31,22 @@ async def openai_chat(msg: OpenAiChatMsgIn): print(msg) async def get_response(msg): - response = openai.ChatCompletion.create(**msg.dict()) - for chunk in response.choices[0].message.content: - print(chunk) - yield chunk + data = msg.dict() + data["streaming"] = True + data.pop("stream") + response = openai.ChatCompletion.create(**data) + if msg.stream: + for chunk in response.choices[0].message.content: + print(chunk) + yield chunk + else: + answer = "" + for chunk in response.choices[0].message.content: + answer += chunk + print(answer) + yield(answer) + return StreamingResponse( get_response(msg), media_type='text/event-stream',