mirror of
https://github.com/katanemo/plano.git
synced 2026-07-23 16:51:04 +02:00
add streaming chatbot-ui
This commit is contained in:
parent
b8841fb8f4
commit
dd35e77a73
2 changed files with 37 additions and 0 deletions
8
chatbot_ui/.vscode/launch.json
vendored
8
chatbot_ui/.vscode/launch.json
vendored
|
|
@ -11,6 +11,14 @@
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"program": "run.py",
|
"program": "run.py",
|
||||||
"console": "integratedTerminal",
|
"console": "integratedTerminal",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "chatbot-ui streaming",
|
||||||
|
"cwd": "${workspaceFolder}/app",
|
||||||
|
"type": "debugpy",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "run_stream.py",
|
||||||
|
"console": "integratedTerminal",
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
29
chatbot_ui/app/run_stream.py
Normal file
29
chatbot_ui/app/run_stream.py
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
# copied from https://www.gradio.app/guides/creating-a-chatbot-fast#a-streaming-example-using-openai
|
||||||
|
|
||||||
|
import os
|
||||||
|
from openai import OpenAI
|
||||||
|
import gradio as gr
|
||||||
|
|
||||||
|
api_key = os.getenv("OPENAI_API_KEY")
|
||||||
|
|
||||||
|
client = OpenAI(api_key=api_key)
|
||||||
|
|
||||||
|
def predict(message, history):
|
||||||
|
history_openai_format = []
|
||||||
|
for human, assistant in history:
|
||||||
|
history_openai_format.append({"role": "user", "content": human })
|
||||||
|
history_openai_format.append({"role": "assistant", "content":assistant})
|
||||||
|
history_openai_format.append({"role": "user", "content": message})
|
||||||
|
|
||||||
|
response = client.chat.completions.create(model='gpt-3.5-turbo',
|
||||||
|
messages= history_openai_format,
|
||||||
|
temperature=1.0,
|
||||||
|
stream=True)
|
||||||
|
|
||||||
|
partial_message = ""
|
||||||
|
for chunk in response:
|
||||||
|
if chunk.choices[0].delta.content is not None:
|
||||||
|
partial_message = partial_message + chunk.choices[0].delta.content
|
||||||
|
yield partial_message
|
||||||
|
|
||||||
|
gr.ChatInterface(predict).launch(server_name="0.0.0.0", server_port=8081)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue