import gradio as gr from openai import OpenAI import os import json api_key = os.getenv("OPENAI_APIKEY") client = OpenAI(api_key=api_key) def chat(message, history): history_openai_format = [] for human, assistant in history: if (assistant is not None) and (type(human) is str): history_openai_format.append({"role": "user", "content": human }) history_openai_format.append({"role": "assistant", "content":assistant}) history_openai_format.append({"role": "user", "content": message['text']}) print(f"{history}\n----\n{message}\n----\n{history_openai_format}") response = client.chat.completions.create( model='gpt-4-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 demo = gr.ChatInterface( fn=chat, # examples=[{"text": "hello"}, {"text": "hola"}, {"text": "merhaba"}], title="Summarization and more", multimodal=True) auth=os.environ.get("APP_USERS", "null") auth=json.loads(auth) demo.launch(auth=auth)