nomnomnonono's picture
udpate
9ecdb48
raw
history blame contribute delete
No virus
2.46 kB
import gradio as gr
from chat import CahtBOT
chat = CahtBOT()
with gr.Blocks() as demo:
gr.Markdown("Siri-like application via Whisper and ChatGPT")
with gr.Tabs():
with gr.TabItem(label="General"):
with gr.Row():
with gr.Column(scale=1):
api_key = gr.Textbox(label="Paste your own openai-api-key")
api_button = gr.Button("SetUp")
with gr.Row():
audio_input = gr.Audio(
source="microphone",
label="Record from microphone",
)
audio_button = gr.Button("Transcribe")
audio_output = gr.Textbox()
chat_button = gr.Button("Questions to ChatGPT")
with gr.Column(scale=1):
chatbot = gr.Chatbot([], elemid="chatbot").style(height=750)
with gr.TabItem(label="Setting"):
gr.Markdown("Prompt Setting")
language = gr.Dropdown(["Japanese", "English"], value="English")
with gr.Row():
role1 = gr.Dropdown(["system", "user", "assistant"], value="system")
content1 = gr.Textbox(value="You're helpful assistant.")
with gr.Row():
role2 = gr.Dropdown(["system", "user", "assistant"])
content2 = gr.Textbox()
with gr.Row():
role3 = gr.Dropdown(["system", "user", "assistant"])
content3 = gr.Textbox()
with gr.Row():
role4 = gr.Dropdown(["system", "user", "assistant"])
content4 = gr.Textbox()
with gr.Row():
role5 = gr.Dropdown(["system", "user", "assistant"])
content5 = gr.Textbox()
api_button.click(
chat.setup,
inputs=[
role1,
content1,
role2,
content2,
role3,
content3,
role4,
content4,
role5,
content5,
api_key,
language,
],
outputs=None,
)
audio_button.click(
chat.transcribe,
inputs=[audio_input],
outputs=[audio_output],
api_name="transcribe",
)
chat_button.click(
chat.answer_by_chat,
inputs=[chatbot, audio_output],
outputs=[chatbot],
)
demo.launch()