File size: 1,533 Bytes
6f1fa04 506b771 6f1fa04 506b771 6f1fa04 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
import gradio as gr
import openai
import os
api_key = os.getenv('OPEN_API_KEY')
openai.api_key = api_key
global_history = [{"role": "assistant", "content": "Hi, I am a chatbot. I can converse in English. I can answer your questions about farming in India. Ask me anything!"}]
def user(user_message, history):
global global_history
history = history + [[user_message, None]]
global_history = global_history+[{"role": "user", "content": user_message}]
print(history)
print(global_history)
return "", history
def get_chatgpt_response(history):
output = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=history)
history.append({"role": "assistant", "content": output.choices[0].message.content})
return output.choices[0].message.content, history
def bot(history):
global global_history
response, global_history = get_chatgpt_response(global_history)
history[-1][1] = response
return history
def clear_history(lang = "English"):
global global_history
global_history = [{"role": "assistant", "content": "Hi, I am a chatbot. I can converse in {}. I can answer your questions about farming in India. Ask me anything!".format(lang)}]
return None
with gr.Blocks(title="Ag GPT Demo") as demo:
chatbot = gr.Chatbot()
msg = gr.Textbox()
clear = gr.Button("Clear")
msg.submit(user, [msg, chatbot], [msg, chatbot], queue=False).then(bot, chatbot, chatbot)
clear.click(clear_history, None, chatbot, queue=False)
demo.launch(share=True) |