File size: 1,127 Bytes
992501a
 
 
 
 
 
3b7d6da
 
 
 
 
992501a
3b7d6da
992501a
3b7d6da
 
 
 
 
 
 
 
 
65e088f
992501a
 
 
3b7d6da
65e088f
3b7d6da
992501a
 
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

import gradio as gr
from gradio_client import Client

client = Client("vikhyatk/moondream1")

css = """
.col {
    width: 300px;
}
"""
def get_caption(image, additional_context):
    question_with_context = "What is this image? Describe this image to someone who is visually impaired."
    result = client.predict(image, question_with_context, api_name="/answer_question")
    return result + "\n" + "Additional Context: " + additional_context


with gr.Blocks(css=css) as demo:
    with gr.Group(elem_classes=["col"]):
        with gr.Column():
            image = gr.Image(sources=["upload", "clipboard"], type="filepath", height=330)
            additional_context = gr.Textbox(interactive=True, label="Add additional context here (optional)")
            submit_btn = gr.Button("Submit", variant="primary")
            clear_btn = gr.Button("Clear", variant="secondary")

        response = gr.Textbox(label="Answer")

        submit_btn.click(get_caption, [image, additional_context], outputs=[response])
        clear_btn.click(lambda x: "", [response], outputs=[response])

if __name__ == "__main__":
    demo.launch()