Spaces:
Runtime error
Runtime error
import gradio as gr | |
import ai_tasks | |
import code_tasks | |
import custom_code | |
from control_flow.main import _run | |
def open__get_text_from_url() -> str: | |
with open("code_tasks/text_in_url.py") as f: | |
return f.read() | |
def open__get_images_from_url() -> str: | |
with open("code_tasks/images_in_url.py") as f: | |
return f.read() | |
def open__get_image_infos() -> str: | |
with open("custom_code/image_analysis.py") as f: | |
return f.read() | |
def get_text_and_images_from_url(url): | |
return ( | |
code_tasks.text_in_url.get_text_from_url(url), | |
code_tasks.images_in_url.get_images_from_url(url), | |
) | |
def get_images_analysis(images): | |
return custom_code.image_analysis.analyze_images(eval(images)) | |
with gr.Blocks() as demo: | |
gr.Markdown( | |
""" | |
## Ad Generator | |
Enter an url and the dimensions for an image (eg, 300x600) and get the image and headline for an ad.""" | |
) | |
url = gr.Textbox(label="Input: {url}") | |
dimensions = gr.Textbox(label="Input: {dimensions}") | |
execute = gr.Button("Run") | |
with gr.Box(): | |
gr.Markdown("Code task") | |
with gr.Row(): | |
with gr.Column(): | |
gr.Textbox( | |
"write a python function that given an url returns all text in the website", | |
label="ChatGPT-4 prompt", | |
) | |
with gr.Accordion("Input: {url}", open=False): | |
gr.Code(open__get_text_from_url(), "python") | |
with gr.Column(): | |
text = gr.Textbox( | |
label="Output: {text}", lines=10, max_lines=10, interactive=False | |
) | |
with gr.Box(): | |
gr.Markdown("Code task") | |
with gr.Row(): | |
with gr.Column(): | |
gr.Textbox( | |
"write a python function that given an url returns all images in the website", | |
label="ChatGPT-4 prompt", | |
) | |
with gr.Accordion("Input: {url}", open=False): | |
gr.Code(open__get_images_from_url(), "python") | |
with gr.Column(): | |
images = gr.Textbox( | |
label="Output: {images}", lines=10, max_lines=10, interactive=False | |
) | |
with gr.Box(): | |
gr.Markdown("Custom code: analyze images with Google Vision") | |
with gr.Row(): | |
with gr.Column(): | |
with gr.Accordion("Input: {images}", open=False): | |
gr.Code(open__get_image_infos(), "python") | |
with gr.Column(): | |
image_infos = gr.Textbox( | |
label="Output: {image_infos}", | |
lines=10, | |
max_lines=10, | |
interactive=False, | |
) | |
with gr.Box(): | |
gr.Markdown("AI task: summarize text") | |
with gr.Row(): | |
with gr.Column(): | |
gr.Textbox( | |
ai_tasks.text_summary.PROMPT, | |
label="Instructions", | |
interactive=True, | |
) | |
with gr.Column(): | |
summary = gr.Textbox( | |
label="Output: {summary}", lines=10, max_lines=10, interactive=False | |
) | |
with gr.Box(): | |
gr.Markdown("AI task: generate headline for image") | |
with gr.Row(): | |
with gr.Column(): | |
gr.Textbox( | |
ai_tasks.headlines_for_images.PROMPT, | |
label="Instructions", | |
interactive=True, | |
) | |
with gr.Column(): | |
headline = gr.Textbox( | |
label="Output: {headline}", | |
lines=20, | |
max_lines=10, | |
interactive=False, | |
) | |
execute.click( | |
get_text_and_images_from_url, inputs=[url], outputs=[text, images] | |
).success( | |
get_images_analysis, | |
inputs=[images], | |
outputs=[image_infos], | |
).success( | |
ai_tasks.text_summary.summarize_text, inputs=[text], outputs=[summary] | |
).success( | |
ai_tasks.headlines_for_images.get_headline_for_image, | |
inputs=[summary, dimensions, image_infos], | |
outputs=[headline], | |
) | |
demo.launch() | |