forumbot / app.py
chuth's picture
Update model name
2e54a02 verified
import gradio as gr
from chat import get_response
def clear_session():
return "", []
def add_query(chat_history, input):
if not input:
raise gr.Error("Please enter a question.")
chat_history.append((input, None))
return chat_history
def response(history, query, model):
chat_history = []
for i in history:
if i[0]:
chat_history.append(i[0])
if i[1]:
chat_history.append(i[1])
messages = [{"role": "user", "content": chat_history[0]}]
for i in range(1, len(chat_history), 2):
messages.append({"role": "assistant", "content": chat_history[i]})
messages.append({"role": "user", "content": chat_history[i + 1]})
res_msg = get_response(model, messages)
history[-1] = (query, res_msg)
return "", history
demo = gr.Blocks(title= "Chatbot", theme="Soft")
with demo:
with gr.Column("Chatbot - Family Relationships"):
model = gr.Radio(["gpt-3.5-turbo", "gpt-4-turbo", "ft:gpt-3.5-turbo-0125:personal::9hiINdK8"],
label="model",
info="Kindly choose a model before initiating the chat and clear the chat history before switching models. The last one is fine-tuned models.")
chatbot = gr.Chatbot(value=[], elem_id='chatbot')
text_input = gr.Textbox(
show_label=False,
placeholder="Ask me anything!",
container=False)
clear_btn = gr.Button("🧹 Clear")
text_input.submit(add_query, inputs=[chatbot, text_input], outputs=[chatbot], concurrency_limit=1).\
success(response, inputs=[chatbot, text_input, model], outputs=[text_input, chatbot])
clear_btn.click(clear_session, inputs=[], outputs=[text_input, chatbot])
demo.launch()