|
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 {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") |