--- title: Free Speech Test emoji: 🎃 colorFrom: indigo colorTo: blue sdk: streamlit sdk_version: 1.27.1 app_file: app.py pinned: false license: mit --- Check out the configuration reference at https://huggingface.co/docs/hub/spaces#reference # Future of Free Speech App. In this project we’ll be creating a tool to empower people to respond to hate speech and misinformation only by creating an action dashboard that provides relevant background, and that drafts a response. that respects: 1. The principles of the Future of Free Speech program 2. The principles of the responder 3. Background information on the original post 4. Guidance on possible best responses to the original post (e.g. counter information) 5. Style and preferences of the responder ## Access to Beta Version Here https://free-speech.streamlit.app/ ### Draft Main Screen ![image](https://github.com/vanderbilt-data-science/free-speech-app/assets/5521243/9cb9dbd4-fa8d-4f18-bb7e-85fb7076f23a) ### Draft Principles and Sources Screen ![image](https://github.com/vanderbilt-data-science/free-speech-app/assets/5521243/95b932d8-20fb-4f94-aadb-aec71590f882) Students who are particularly interested in this: Eleanor Beers Katrina Rbeiz Sovann Chang ## Features - The prototype solution could be a stand-alone dashboard application into which the responder would cut-and-paste the post to which they would like to respond. - Brainstorming ideas in the [Google drive](https://drive.google.com/drive/folders/1XvUthVpeZJ449nAEjeCPwvKy9v3oEHPd?usp=sharing) ## Getting Started ## Contributing To contribute to the project, please fork the repository and submit a pull request. Our community is supportive, and we provide training and classes if you're new to any of the frameworks used in the project. Everyone is welcome to contribute, as we believe participating in data science and AI projects is an excellent way to learn. ### How to Contribute With `nbdev` it will always try to run every single cell of anything in the `nbs` directory. Yes, I definitely mean that it tries to execute every cell in a notebook unless you tell it not to. We tell it not to. To do this, in every new "source" notebook created in `nbs`, you need to include as a **raw** cell: ``` --- skip_exec: true --- ``` This suppresses tests. Now, it executes nothing. There's no model building, no nothing. #### Setup Make sure you've followed the instructions above for setup with `nbdev_install_hooks` #### Passing GH Actions Locally, you'll do whatever edits that you're after to finish your issue. Generally, after you've saved all of your changes locally (before you add/commit), you will run (at the command line when you're about to do all of your git operations): ``` nbdev_prepare ``` Now, this is when you add and commit changed files. Keep an eye out for any of the files in the `free_speech_app` module, e.g., `_modidx.py` or any new modules you have created. Make sure you add and commit them as well in this commit. Don't miss any! `nbdev_prepare` strips out metadata, builds the library (so it matches the source notebooks), runs tests, and creates docs. We're just casually avoiding the last 2 things. This is going to help you pass your GH Actions by preparing your repo locally. If you would fail any Actions, it will tell you why they've failed locally before pushing to GH. However, for unknown reasons, sometimes you pass the `nbdev_prepare` locally while somehow failing the GH Actions remotely? If that's the case, here's some troubleshooting help. If you're failing actions, this basically means: * Detected unstripped out notebooks: you need to run `nbdev_prepare` which strips out all of the metadata * Something about the library not matching the source notebooks: you need to run `nbdev_prepare` which converts your source notebooks into the modules. **Also, make sure that you have added and committed all of the .py files that you've generated or have been changed**. * Something about nbdev_install_hooks: run `nbdev_install_hooks` * Something about tests failed or the GH Actions log seems to look like it's trying to run code: You need to add or fix the raw code cell with `skip_exec=true` and the `yaml triple line indicators` above in all of the notebooks. Run `nbdev_prepare` and it will error out on some notebook. That tells you where you need to add that raw code cell. * If none of these are true, your local version of nbdev might differ from the one used in GH Actions. If that's the case, hop on over to pyPI to see if there has been a recent update. ## Community Guidelines We aim to create a welcoming and inclusive community where everyone can feel comfortable and valued, regardless of skill level, background, ability, or identity. To ensure a positive atmosphere, please adhere to our code of conduct and community guidelines. ## Meetings [Zoom Link](https://vanderbilt.zoom.us/j/93382420275?pwd=Z0xrSFZJelcrY1ZCNk9xQ3A1R3Irdz09 ) - Sprint Planning: 9:30am Mondays - Backlog Grooming: 11am Thursdays - Retrospective: 9:30am Fridays - Demos: Fridays at 3 pm ## Additional Resources - LangChain documentation - Introduction to transformers and generative AI on our [YouTube channel](https://www.youtube.com/channel/UC8C2_3L5gR9qLmL7rmb2BdQ) - AI Summer and AI Winter sessions (free and open to all) ## Reporting Issues If you encounter a bug, please submit an issue and label it with "Bug." To escalate the issue, email [datascience@vanderbilt.edu](mailto:datascience@vanderbilt.edu). ## Contact Information - Organization: Data Science Institute at Vanderbilt University and Future of Free Speech Program - Main Email: [datascience@vanderbilt.edu](mailto:datascience@vanderbilt.edu) - Staff Lead: [jesse.spencer-smith@vanderbilt.edu](mailto:jesse.spencer-smith@vanderbilt.edu) - Staff Lead: [charreau.s.bell@vanderbilt.edu](mailto:charreau.s.bell@vanderbilt.edu) Data Scientists - Eleanor Beers - Katrina Rbeiz - Sovann Chang Remember to replace "Staff lead and email" with the actual name and email address of the staff lead. ## Red Team Observations [redteam.md](https://github.com/vanderbilt-data-science/free-speech-app/files/12718272/redteam.md)