File size: 1,353 Bytes
acc4ffe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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")