Spaces:
Runtime error
Runtime error
import logging | |
import os | |
import gradio as gr | |
from dotenv import load_dotenv | |
from utils import add_result | |
logger = logging.getLogger(__name__) | |
logger.setLevel(logging.DEBUG) | |
load_dotenv() | |
def submit_result(user_answer): | |
add_result({"user_answer": user_answer}) | |
return | |
def get_user_prompt(): | |
return { | |
"images": [ | |
"images/1.jpeg", | |
"images/1.jpeg", | |
"images/1.jpeg", | |
], | |
"labels": [ | |
"A pencil", | |
"A camera", | |
"A sheet of paper", | |
], | |
} | |
hf_writer = gr.HuggingFaceDatasetSaver( | |
hf_token=os.environ["HF_TOKEN"], dataset_name="acmc/maker-faire-bot", private=True | |
) | |
csv_writer = gr.CSVLogger(simplify_file_data=True) | |
theme = gr.themes.Default(primary_hue="cyan", secondary_hue="fuchsia") | |
with gr.Blocks(theme=theme) as demo: | |
with gr.Row() as header: | |
gr.Image( | |
"maker-faire-logo.webp", | |
show_download_button=False, | |
show_label=False, | |
show_share_button=False, | |
container=False, | |
# height=100, | |
scale=0.2, | |
) | |
gr.Markdown( | |
""" | |
# Maker Faire Bot | |
""", | |
visible=False, | |
) | |
user_prompt = gr.State(get_user_prompt()) | |
gr.Markdown("""# Think about these objects...""") | |
gr.Markdown( | |
"""We want to teach the Maker Faire Bot some creativity. Help us get ideas on what you'd build!""" | |
) | |
with gr.Row(variant="panel") as row: | |
for i in range(len(user_prompt.value["images"])): | |
with gr.Column(variant="default") as col: | |
gr.Image( | |
user_prompt.value["images"][i], | |
label=user_prompt.value["labels"][i], | |
interactive=False, | |
show_download_button=False, | |
show_share_button=False, | |
) | |
user_answer_object = gr.Textbox( | |
autofocus=True, | |
placeholder="(example): An electronic guitar", | |
label="What would you build?", | |
) | |
user_answer_explanation = gr.TextArea( | |
autofocus=True, | |
label="How would you build it?", | |
placeholder="""I'd use the camera to detect when the user touches the strings and make a sound using the loudspeakers when that happens.""", | |
) | |
csv_writer.setup(components=[user_prompt, user_answer_object, user_answer_explanation], flagging_dir="flagged_data_csv") | |
hf_writer.setup(components=[user_prompt, user_answer_object, user_answer_explanation], flagging_dir="flagged_data_hf") | |
submit_btn = gr.Button("Submit", variant="primary") | |
def log_results(prompt, object, explanation): | |
csv_writer.flag([prompt, object, explanation]) | |
hf_writer.flag([prompt, object, explanation]) | |
submit_btn.click(log_results, inputs=[user_prompt, user_answer_object, user_answer_explanation], preprocess=False) | |
gr.Markdown( | |
""" | |
This is an experimental project. Your data is anonymous and will be used to train an AI model. By using this tool, you agree to our [policy](https://makerfaire.com/privacy). | |
""" | |
) | |
if __name__ == "__main__": | |
demo.launch() | |