redteaming-ui / chatbot-demo.py
Jithin James
basic chatbot
06d3bc9
raw
history blame
1.52 kB
import gradio as gr
def get_model_response(user_input, history, user_chats):
print(user_input, history, user_chats)
response = f'Hello, you said "{user_input}"'
history += [user_input, response]
user_chats.append(user_input)
responses = [(history[i], history[i + 1]) for i in range(0, len(history) - 1, 2)]
return responses, history, user_chats
def clear_chat():
return [], []
with gr.Blocks() as demo:
state = gr.State([])
user_chats = gr.State(value=[])
chat = gr.Chatbot()
with gr.Row():
with gr.Column(scale=5):
txt = gr.Textbox(placeholder="Say Hi!", label="press Enter to submit")
txt.submit(
get_model_response,
[txt, state, user_chats],
[chat, state, user_chats],
)
with gr.Column(scale=1, min_width=250):
choices = ["test"]
drop_down = gr.Dropdown(label="Clear Till", choices=user_chats.value)
clear_btn = gr.Button("Clear", label="Clear chat history")
clear_btn.click(clear_chat, outputs=[state, chat])
with gr.Accordion(label="Red-Teaming", open=True):
gr.Markdown("*instructions on what to do if you break the model*")
gr.Textbox()
with gr.Row():
submit_btn = gr.Button("Submit", label="Submit")
import_chat_btn = gr.Button("Import Chat", label="import chat")
export_chat_btn = gr.Button("Export Chat", label="export chat")
demo.launch()