import gradio as gr import time import os qaMap = {} qaMap[''] def add_text(state, text): state = state + [(text, text + "?")] return state, state def add_image(state, image): time.sleep(2) localFilePath = image.name ext = localFilePath.split(".")[-1] rest = "".join(localFilePath.split(".")[:-1]) removed_hash = "".join(rest.split("_")[:-1]) original_filename = removed_hash + "." + ext state = state + [(f"![](/file={image.name})", f"This is an image edited![](/file={image.name})")] return state, state # with gr.Blocks(css="#chatbot .overflow-y-scroll{height:600px}") as demo: # with gr.Blocks(css="#chatbot {height:600px}") as demo: with gr.Blocks(css="#chatbot {height: 800px; overflow: auto;}") as demo: chatbot = gr.Chatbot(elem_id="chatbot").style(height=620) state = gr.State([]) 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"]) txt.submit(add_text, [state, txt], [state, chatbot]) txt.submit(lambda :"", None, txt) btn.upload(add_image, [state, btn], [state, chatbot]) demo.launch(debug=True, server_name="0.0.0.0")