From 6ba23b7fc94c010bd43de6d614fcf8e7c494bf2a Mon Sep 17 00:00:00 2001 From: weaigc <879821485@qq.com> Date: Sat, 25 Nov 2023 21:11:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20api=20=E8=B0=83=E7=94=A8=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=20#101?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + src/pages/api/sydney.ts | 8 +++++++- tests/openai-stream.py | 9 +++++++++ tests/openaipy.py | 10 ++++------ 4 files changed, 21 insertions(+), 7 deletions(-) create mode 100644 tests/openai-stream.py diff --git a/.gitignore b/.gitignore index 8f322f0d..5780d9a0 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts +__pycache__ diff --git a/src/pages/api/sydney.ts b/src/pages/api/sydney.ts index 5973d411..cb670454 100644 --- a/src/pages/api/sydney.ts +++ b/src/pages/api/sydney.ts @@ -30,11 +30,16 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) }) const closeDog = new WatchDog() + const timeoutDog = new WatchDog() ws.onmessage = (event) => { + timeoutDog.watch(() => { + debug(id, 'timeout') + ws.send(websocketUtils.packMessage({ type: 6 })) + }, 6000) closeDog.watch(() => { debug(id, 'timeout close') ws.close() - }, 20000) + }, 40000) res.write(event.data) if (/\{"type":([367])\b/.test(String(event.data))) { const type = parseInt(RegExp.$1, 10) @@ -48,6 +53,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) } ws.onclose = () => { + timeoutDog.reset() closeDog.reset() debug(id, 'ws close') res.end() diff --git a/tests/openai-stream.py b/tests/openai-stream.py new file mode 100644 index 00000000..b3414e14 --- /dev/null +++ b/tests/openai-stream.py @@ -0,0 +1,9 @@ +import openai +openai.api_key = "dummy" +openai.api_base = "https://copilot.github1s.tk" # 这里可以改为你自己部署的服务,bingo 服务版本需要 >= 0.9.0 + +# create a chat completion +completion = openai.ChatCompletion.create(model="Creative", stream=True, messages=[{"role": "user", "content": "Hello"}]) +for chat_completion in completion: + # print the completion + print(chat_completion.choices[0].message.content, end="", flush=True) diff --git a/tests/openaipy.py b/tests/openaipy.py index 6efee312..ef913ac9 100644 --- a/tests/openaipy.py +++ b/tests/openaipy.py @@ -1,9 +1,7 @@ import openai -openai.api_key = "dummy" -openai.api_base = "https://hf4all-bingo-api.hf.space" # 这里可以改为你自己部署的服务,bingo 服务版本需要 >= 0.9.0 +openai.api_key = "dummy" +openai.api_base = "https://copilot.github1s.tk" # 这里可以改为你自己部署的服务,bingo 服务版本需要 >= 0.9.0 # create a chat completion -completion = openai.ChatCompletion.create(model="Creative", stream=True, messages=[{"role": "user", "content": "Hello"}]) -for chat_completion in completion: - # print the completion - print(chat_completion.choices[0].message.content, end="", flush=True) +completion = openai.ChatCompletion.create(model="gpt-4", stream=False, messages=[{"role": "user", "content": "Hello"}]) +print(completion.choices[0].message.content)