plano/chatbot_ui/app/run_stream.py
José Ulises Niño Rivera bbd6058ca0 debug streaming
Signed-off-by: José Ulises Niño Rivera <junr03@users.noreply.github.com>
2024-10-13 15:36:53 -06:00

34 lines
1.1 KiB
Python

# 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
CHAT_COMPLETION_ENDPOINT = os.getenv(
"CHAT_COMPLETION_ENDPOINT", "https://api.openai.com/v1"
)
client = OpenAI(api_key="--", base_url=CHAT_COMPLETION_ENDPOINT)
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="arch",
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=8080)