import string import gradio as gr import requests def inference_caption(): return def inference_chat(): return "hello" with gr.Blocks( css=""" .message.svelte-w6rprc.svelte-w6rprc.svelte-w6rprc {font-size: 20px; margin-top: 20px} #component-21 > div.wrap.svelte-w6rprc {height: 600px;} """ ) as iface: state = gr.State([]) #caption_output = state #gr.Markdown(title) #gr.Markdown(description) #gr.Markdown(article) with gr.Row(): with gr.Column(scale=1): image_input = gr.Image(type="pil") with gr.Column(scale=1.8): with gr.Row(): with gr.Column(): caption_output = gr.Textbox(lines=1, label="VQA Output") with gr.Column(scale=1): chat_input = gr.Textbox(lines=1, label="VQA Input") chat_input.submit( inference_chat, [ image_input, chat_input, ], [ caption_output], ) with gr.Row(): clear_button = gr.Button(value="Clear", interactive=True) clear_button.click( lambda: ("", [], []), [], [chat_input, state], queue=False, ) submit_button = gr.Button( value="Submit", interactive=True, variant="primary" ) submit_button.click( inference_chat, [ image_input, chat_input, ], [caption_output], ) image_input.change( lambda: ("", "", []), [], [ caption_output, state], queue=False, ) # examples = gr.Examples( # examples=examples, # inputs=[image_input, chat_input], # ) iface.queue(concurrency_count=1, api_open=False, max_size=10) iface.launch(enable_queue=True)