NimaBoscarino's picture
Update app.py
fadf846
import gradio as gr
import os
hf_writer = gr.HuggingFaceDatasetSaver(
os.getenv('HUGGING_FACE_HUB_TOKEN'),
organization="society-ethics",
dataset_name="featured-spaces-submissions",
private=True
)
principles = [
{
"title": "🀝 Consentful",
"content": """
[What is consentful tech?](https://www.consentfultech.io)
Consentful technology supports the self-determination of people who use and are affected by these technologies.
For Spaces, some examples of this can include:
- Demonstrating a commitment to acquiring data from willing, informed, and appropriately compensated sources.
- Designing systems that respect end-user autonomy, e.g. with privacy-preserving techniques.
- Avoiding extractive, chauvinist, ["dark"](https://www.deceptive.design), and otherwise "unethical" patterns of engagement.
Featured Spaces:
- [lvwerra/in-the-stack-gr](https://huggingface.co/spaces/lvwerra/in-the-stack-gr)
- [zama-fhe/encrypted_sentiment_analysis](https://huggingface.co/spaces/zama-fhe/encrypted_sentiment_analysis)
"""
},
{
"title": "🌎 Sustainable",
"content": """
These are Spaces that highlight and explore techniques for making machine learning ecologically sustainable.
Examples could include:
- Tracking emissions from training and running inferences on large language models.
- Quantization and distillation methods to reduce carbon footprints without sacrificing model quality.
Featured Space:
- [pytorch/MobileNet_v2](https://huggingface.co/spaces/pytorch/MobileNet_v2)
"""
},
{
"title": "πŸ‘οΈβ€πŸ—¨οΈ Socially Conscious",
"content": """
"Socially Conscious" Spaces show us how machine learning can be applied as a force for *good*!
This is quite broad, but some examples could be:
- Using machine learning as part of an effort to tackle climate change.
- Building tools to assist with medical research and practice.
- Developing models for text-to-speech, image captioning, and other tasks aimed at increasing accessibility.
- Creating systems for the digital humanities, such as for Indigenous language revitalization.
Featured Space:
- [vict0rsch/climateGAN](https://huggingface.co/spaces/vict0rsch/climateGAN)
"""
},
{
"title": "πŸ§‘β€πŸ€β€πŸ§‘ Inclusive",
"content": """
These are projects which broaden the scope of who *builds* and *benefits* in the machine learning world.
This could mean things like:
- Curating diverse datasets that increase the representation of underserved groups.
- Training language models on languages that aren't yet available on the Hugging Face Hub.
- Creating no-code frameworks that allow non-technical folk to engage with AI.
Featured Spaces:
- [hackathon-pln-es/Spanish-Nahuatl-Translation](https://huggingface.co/spaces/hackathon-pln-es/Spanish-Nahuatl-Translation)
- [hackathon-pln-es/readability-assessment-spanish](https://huggingface.co/spaces/hackathon-pln-es/readability-assessment-spanish)
"""
},
{
"title": "✍️ Rigorous",
"content": """
Among the many concerns that go into creating new models is a seemingly simple question: "Does it work?"
Rigorous projects pay special attention to examining failure cases, protecting privacy through security
measures, and ensuring that potential users (technical and non-technical) are informed of the project's
limitations.
For example:
- Projects built with models that are well-documented with [Model Cards](https://huggingface.co/docs/hub/model-cards).
- Models that are evaluated against cutting-edge benchmarks, with results reported against disaggregated sets.
- Demonstrations of models failing across ["gender, skin type, ethnicity, age or other attributes"](http://gendershades.org/overview.html).
- Techniques for mitigating issues like over-fitting and training data memorization.
Featured Spaces:
- [emilylearning/spurious_correlation_evaluation](https://huggingface.co/spaces/emilylearning/spurious_correlation_evaluation)
- [ml6team/post-processing-summarization](https://huggingface.co/spaces/ml6team/post-processing-summarization)
"""
},
{
"title": "πŸ€” Inquisitive",
"content": """
Some projects take a radical new approach to concepts which may have become commonplace. These projects, often
rooted in critical theory, shine a light on inequities and power structures which challenge the community to
rethink its relationship to technology.
For example:
- [Reframing AI and machine learning from Indigenous perspectives](https://jods.mitpress.mit.edu/pub/lewis-arista-pechawis-kite/release/1).
- [Highlighting LGBTQIA2S+ marginalization in AI](https://edri.org/our-work/computers-are-binary-people-are-not-how-ai-systems-undermine-lgbtq-identity/).
- [Critiquing the harms perpetuated by AI systems](https://www.ajl.org).
Featured Space:
- [society-ethics/Average_diffusion_faces](https://huggingface.co/spaces/society-ethics/Average_diffusion_faces)
"""
},
]
def toggle_description(title, content):
with gr.Accordion(label=title, open=False):
gr.Markdown(content, elem_id="margin-top")
def submit_entry(URL, tags, suggestions, comments):
hf_writer.flag(
flag_data=[URL, tags, suggestions, comments]
)
return [
gr.Markdown.update(
visible=True,
value="Thank you for your submission! πŸ€—"
),
gr.Button.update(
visible=False
),
gr.Text.update(interactive=False),
gr.Checkboxgroup.update(interactive=False),
gr.Text.update(interactive=False),
gr.TextArea.update(interactive=False),
]
with gr.Blocks(css="#margin-top {margin-top: 15px} #center {justify-content: space-between;}") as demo:
with gr.Row(elem_id="center"):
with gr.Column(scale=4):
gr.Markdown("## Call for submissions! πŸ“’")
with gr.Column():
gr.Markdown("<img style='height: 7em;' src='https://huggingface.co/spaces/society-ethics/featured-spaces-submissions/resolve/main/banner.png'/>")
gr.Markdown("""
Hugging Face is collecting examples of [Spaces](https://huggingface.co/spaces) that are ethically mindful, in order to highlight and encourage these kinds of projects – and we would love your input!
If you have built a Space that you think should be featured, or if you would like to nominate someone else's, paste the URL in the form below πŸ€—
The current set of tags reflect our initial categorization from going through Hugging Face Spaces: 🀝 consentful, 🌎 sustainable, πŸ‘οΈβ€πŸ—¨οΈ socially conscious, πŸ§‘β€πŸ€β€πŸ§‘ inclusive, ✍️ rigorous, and πŸ€” inquisitive.
Let us know other relevant categories and examples that you find!
""")
with gr.Accordion(label="Want to learn more? Visit us over on the Hugging Face Discord!", open=False):
gr.Markdown("""
Follow these steps to join the discussion:
1. Go to [hf.co/join/discord](https://hf.co/join/discord) to join the Discord server.
2. Once you've registered, go to the `#role-assignment` channel.
3. Select the "Open Science" role.
4. Head over to `#ethics-and-society` to join the conversation πŸ₯³
""", elem_id="margin-top")
with gr.Row():
with gr.Column():
gr.Markdown("πŸ’‘ Click on the terms below to view their description and some examples.")
with gr.Column():
[toggle_description(x["title"], x["content"]) for x in principles]
with gr.Column():
URL = gr.Text(label="URL")
tags = gr.Checkboxgroup(
label="Tags - Pick as many as you like!",
choices=[
"Consentful",
"Sustainable",
"Socially Conscious",
"Inclusive",
"Rigorous",
"Inquisitive",
]
)
suggestions = gr.Text(label="[Optional] Do you have suggestions for other tags?")
comments = gr.TextArea(label="[Optional] Any extra comments?")
submit = gr.Button(value="Submit")
thank_you = gr.Markdown(visible=False)
submit.click(
fn=submit_entry,
inputs=[URL, tags, suggestions, comments],
outputs=[
thank_you,
submit,
URL,
tags,
suggestions,
comments,
]
)
hf_writer.setup(
components=[URL, tags, suggestions, comments],
flagging_dir="flagged"
)
demo.launch()