import os
import openai
import gradio

openai.api_key = os.environ["OPENAI_API_KEY"]

messages = [{"role": "system", "content": "You are an intelligent assistant."}]

def CustomChatGPT(user_input):
    messages.append({"role": "user", "content": user_input})
    response = openai.ChatCompletion.create(
        model = "gpt-4",
        messages = messages
    )
    ChatGPT_reply = response["choices"][0]["message"]["content"]
    messages.append({"role": "assistant", "content": ChatGPT_reply})
    return ChatGPT_reply

demo = gradio.Interface(fn=CustomChatGPT, inputs = "text", outputs = "text", title = "J.A.R.V.I.S.")

demo.launch()