ArdaSaygan's picture
Rename chatbot.py to app.py
cba6f38
raw
history blame
1.78 kB
from email import message
import gradio as gr
import os
import openai
from create_poll import create_poll
from utils import GPTCompletion
from dotenv import load_dotenv
gr.close_all()
load_dotenv()
openai.api_key = os.environ["OPENAI_API_KEY"]
def chatWithGPT(chatHistory):
completion = GPTCompletion(system="You are an AI chatting with a human.", max_tokens=2048, temperature=1.5)
gptResponse = completion.chatComplete(chatHistory)
chatHistory[-1][1] = gptResponse
return chatHistory
with gr.Blocks() as demo:
chatHistory = []
def generateResponse(message):
completion = GPTCompletion(system="You are an AI chatting with a human.", max_tokens=2048, temperature=1.5)
gptResponse = completion.chatComplete(chatHistory,message)
chatHistory.append((message, gptResponse))
return chatHistory
def pollinize():
chatList = []
for log in chatHistory:
chatList.append("User: " + log[0])
chatList.append("AI: " + log[1])
chatString = "\n".join(chatList)
return create_poll(chatString, openai.api_key)
def uploadApi(apikey):
openai.api_key = apikey
chatbot = gr.Chatbot().style(height=460)
input = gr.Textbox(label="Messeage")
nextBtn = gr.Button("Next response")
nextBtn.click(generateResponse, input, chatbot, scroll_to_output=True, show_progress=True)
debatePoll = gr.Textbox(label="Poll")
pollinizeButton = gr.Button("Create a poll")
pollinizeButton.click(pollinize,None, debatePoll, scroll_to_output=True, show_progress=True)
apikey = gr.Textbox(label="API Key")
apiUpload = gr.Button("Upload api key")
apiUpload.click(uploadApi, apikey, None, scroll_to_output=True, show_progress=True)
demo.launch()