mirror of
https://github.com/gradio-app/gradio.git
synced 2024-12-27 02:30:17 +08:00
bf26b5f66d
* playwright tests for chatbot * more tests * changelog * Update CHANGELOG.md * fix upload file delay (#4661) * fix * changes * changes --------- Co-authored-by: Abubakar Abid <abubakar@huggingface.co> * Forward `tqdm` constructor arguments to `Progress` component (#4475) * Forward tqdm constructor arguments to Progress component Signed-off-by: Ilya Trushkin <ilya.trushkin@intel.com> * lint * reorder args * added tests --------- Signed-off-by: Ilya Trushkin <ilya.trushkin@intel.com> Co-authored-by: Abubakar Abid <abubakar@huggingface.co> * Remove cleared_value (#4685) * Remove cleared_value * CHANGELOG * Add requirements.txt to dialogpt demo (#4686) * Add requirements.txt * Update demo notebook * Add torch * remove streaming demo + more tests * Fix blocks_kitchen_sink and streaming_stt demos (#4699) * Add code * Add json file * Remove streaming_stt demo * Undo generate_notebooks * Add blocks_kitchen_sink * fix tests * Update js/app/test/chatbot_multimodal.spec.ts Co-authored-by: pngwn <hello@pngwn.io> * Update js/app/test/chatbot_multimodal.spec.ts Co-authored-by: pngwn <hello@pngwn.io> * Update js/app/test/chatbot_multimodal.spec.ts Co-authored-by: pngwn <hello@pngwn.io> * Update js/app/test/chatbot_multimodal.spec.ts Co-authored-by: pngwn <hello@pngwn.io> * Update js/app/test/chatbot_multimodal.spec.ts Co-authored-by: pngwn <hello@pngwn.io> * Update js/app/test/chatbot_multimodal.spec.ts Co-authored-by: pngwn <hello@pngwn.io> * Update js/app/test/chatbot_multimodal.spec.ts Co-authored-by: pngwn <hello@pngwn.io> * Update js/app/test/chatbot_multimodal.spec.ts Co-authored-by: pngwn <hello@pngwn.io> * Update js/app/test/chatbot_multimodal.spec.ts Co-authored-by: pngwn <hello@pngwn.io> * update notebook * remove debug * remove debug --------- Signed-off-by: Ilya Trushkin <ilya.trushkin@intel.com> Co-authored-by: aliabid94 <aabid94@gmail.com> Co-authored-by: Abubakar Abid <abubakar@huggingface.co> Co-authored-by: Ilya Trushkin <ilya.trushkin@intel.com> Co-authored-by: Freddy Boulton <alfonsoboulton@gmail.com> Co-authored-by: pngwn <hello@pngwn.io>
49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
import gradio as gr
|
|
import random
|
|
import time
|
|
|
|
# Chatbot demo with multimodal input (text, markdown, LaTeX, code blocks, image, audio, & video). Plus shows support for streaming text.
|
|
|
|
def add_text(history, text):
|
|
history = history + [(text, None)]
|
|
return history, gr.update(value="", interactive=False)
|
|
|
|
|
|
def add_file(history, file):
|
|
history = history + [((file.name,), None)]
|
|
return history
|
|
|
|
|
|
def bot(history):
|
|
response = "**That's cool!**"
|
|
history[-1][1] = ""
|
|
for character in response:
|
|
history[-1][1] += character
|
|
time.sleep(0.05)
|
|
yield history
|
|
|
|
|
|
with gr.Blocks() as demo:
|
|
chatbot = gr.Chatbot([], elem_id="chatbot").style(height=750)
|
|
|
|
with gr.Row():
|
|
with gr.Column(scale=0.85):
|
|
txt = gr.Textbox(
|
|
show_label=False,
|
|
placeholder="Enter text and press enter, or upload an image",
|
|
).style(container=False)
|
|
with gr.Column(scale=0.15, min_width=0):
|
|
btn = gr.UploadButton("📁", file_types=["image", "video", "audio"])
|
|
|
|
txt_msg = txt.submit(add_text, [chatbot, txt], [chatbot, txt], queue=False).then(
|
|
bot, chatbot, chatbot
|
|
)
|
|
txt_msg.then(lambda: gr.update(interactive=True), None, [txt], queue=False)
|
|
file_msg = btn.upload(add_file, [chatbot, btn], [chatbot], queue=False).then(
|
|
bot, chatbot, chatbot
|
|
)
|
|
|
|
demo.queue()
|
|
if __name__ == "__main__":
|
|
demo.launch()
|