Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from gradio_client import Client | |
| #fusecap_client = Client("https://noamrot-fusecap-image-captioning.hf.space/") | |
| fuyu_client = Client("https://adept-fuyu-8b-demo.hf.space/") | |
| def get_caption(image_in): | |
| fuyu_result = fuyu_client.predict( | |
| image_in, # str representing input in 'raw_image' Image component | |
| True, # bool in 'Enable detailed captioning' Checkbox component | |
| fn_index=2 | |
| ) | |
| # Find the last occurrence of "." | |
| last_period_index = fuyu_result.rfind('.') | |
| # Truncate the string up to the last period | |
| truncated_caption = fuyu_result[:last_period_index + 1] | |
| # print(truncated_caption) | |
| print(f"\n—\nIMAGE CAPTION: {truncated_caption}") | |
| return truncated_caption | |
| def infer(image_in): | |
| gr.Info("Getting image caption with Fuyu...") | |
| user_prompt = get_caption(image_in) | |
| return user_prompt | |
| title = f"LLM Agent from a Picture", | |
| description = f"Get a LLM system prompt from a picture so you can use it in <a href='https://huggingface.co/spaces/abidlabs/GPT-Baker'>GPT-Baker</a>." | |
| css = """ | |
| #col-container{ | |
| margin: 0 auto; | |
| max-width: 780px; | |
| text-align: left; | |
| } | |
| """ | |
| with gr.Blocks(css=css) as demo: | |
| with gr.Column(elem_id="col-container"): | |
| gr.HTML(f""" | |
| <h2 style="text-align: center;">Words from a Picture</h2> | |
| <p style="text-align: center;">{description}</p> | |
| """) | |
| with gr.Row(): | |
| with gr.Column(): | |
| image_in = gr.Image( | |
| label = "Image reference", | |
| type = "filepath", | |
| elem_id = "image-in" | |
| ) | |
| submit_btn = gr.Button("Make desciptions of my pic !") | |
| with gr.Column(): | |
| result = gr.Textbox( | |
| label ="Suggested System", | |
| lines = 6, | |
| max_lines = 30, | |
| elem_id = "suggested-system-prompt" | |
| ) | |
| with gr.Row(): | |
| gr.Examples( | |
| examples = [ | |
| ["examples/ponder.png"], | |
| ["examples/ponder2.png"], | |
| ], | |
| fn = infer, | |
| inputs = [image_in], | |
| outputs = [result], | |
| cache_examples = True | |
| ) | |
| submit_btn.click( | |
| fn = infer, | |
| inputs = [ | |
| image_in | |
| ], | |
| outputs =[ | |
| result | |
| ] | |
| ) | |
| demo.queue().launch(show_api=False) |