vqa_zh / app.py
xxx1's picture
Update app.py
beccd66
import string
import gradio as gr
import requests
import io
url=""
def inference_chat(input_image,input_text):
with io.BytesIO() as buf:
input_image.save(buf, 'jpeg')
image_bytes = buf.getvalue()
files={"img":("input_imge.jpg",image_bytes,'image/png',{})}
res=requests.request("post",url=url,data={"input_text":input_text},files=files)
return res.json()["answer"]
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 = None
#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.Row():
with gr.Column(scale=1):
chat_input = gr.Textbox(lines=1, label="VQA Input(问题输入)")
with gr.Row():
clear_button = gr.Button(value="Clear", interactive=True)
submit_button = gr.Button(
value="Submit", interactive=True, variant="primary"
)
with gr.Column():
caption_output = gr.Textbox(lines=0, label="VQA Output(模型答案输出)")
image_input.change(
lambda: ("", "", []),
[],
[ caption_output, state],
queue=False,
)
chat_input.submit(
inference_chat,
[
image_input,
chat_input,
],
[ caption_output],
)
clear_button.click(
lambda: ("", [], []),
[],
[chat_input, state],
queue=False,
)
submit_button.click(
inference_chat,
[
image_input,
chat_input,
],
[caption_output],
)
# 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)