Spaces:
Runtime error
Runtime error
File size: 3,203 Bytes
cb93205 8f86068 cb93205 8f86068 cb93205 8f86068 cb93205 8f86068 cb93205 8f86068 cb93205 8f86068 cb93205 8f86068 cb93205 8f86068 cb93205 8f86068 cb93205 8f86068 cb93205 8f86068 cb93205 8f86068 cb93205 8f86068 cb93205 8f86068 cb93205 8f86068 |
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
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()
|