|
import gradio as gr |
|
import os |
|
import time |
|
|
|
|
|
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: |
|
buttonAddText = gr.Button("ζ·»ε ζζ¬ζ‘") |
|
chatbot = gr.Chatbot( |
|
[], |
|
elem_id="chatbot", |
|
bubble_full_width=False, |
|
avatar_images=(None, (os.path.join(os.path.dirname(__file__), "./gradiodemo/Demo/IMG/didi.jpeg"))), |
|
) |
|
|
|
with gr.Row(): |
|
txt = gr.Textbox( |
|
scale=4, |
|
show_label=False, |
|
placeholder="Enter text and press enter, or upload an image", |
|
container=False, |
|
) |
|
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 |
|
) |
|
if __name__ == "__main__": |
|
demo.queue() |
|
demo.launch(share=False,server_port=8080) |
|
|