--- title: OmniTutor emoji: 💻 colorFrom: indigo colorTo: yellow sdk: streamlit sdk_version: 1.27.2 app_file: app.py pinned: false --- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference ## app links: ### https://huggingface.co/spaces/Siyuan0730/OmniTutor ## Github ### https://github.com/Siyuan-Harry/OmniTutor ## Introduction OmniTutor v0.1.0 is an all-round teacher, combined with a personalized teaching assistant that specially designed for all learners. Skilled in creating customized courses from given knowledge materials, and answering course-related questions with trustable accuracy. Hopefully it helps reducing obstacles in your learning journey. ## Features - 🌍 **Anytime, anywhere** You no longer have to wait for a set class time or find an available teacher. OmniTutor is ready to provide you with answers and help you solve difficult problems. - 📚 **All disciplines** Whether it's math, physics, literature, history or coding, OmniTutor covers it all. It has a wide range of subject knowledge to meet your multi-faceted learning needs. - 🌐 **All available** You can interact with OmniTutor via text, *audio or video* (in the future). It provides you with real-time feedback and ensures that there are no obstacles in your learning process. - ⚡ **Act now** No need to wait a long time, your questions related to the course will be answered in an instant. The efficiency and speed of OmniTutor ensures that your learning process will not be interrupted. - 🚀 **An experience, always accompany** OmniTutor is like an all-round study companion, no matter where you are, it can help you to ensure that your learning journey is smooth and fun. OmniTutor - An all-round teacher and a personalized teaching assistant who really knows the subject, to help you solve all your learning problems, Make learning so simple: anything, anywhere, all at once. ## How to Use 1. **Start the Application**: Execute the script to initiate the OmniTutor interface. 2. **Upload learning materials**: The upload widget in the sidebar supports PDF and .md files simutaenously. 3. **Customize your course**: By few clicks and swipes, adjusting teaching style, lesson count and language for your course. 4. **Start course generating**: Touch "Generate my course!" button in the sidebar, then watch how OmniTutor creates personal-customized course for you. 5. **Interactive learning**: Learn the course, and ask OmniTutor any questions related to this course whenever you encountered them. ## Setup and Running Before running , ensure you have the following prerequisites installed: - Python 3.x - Streamlit - FAISS - NLTK - OpenAI 1. **Clone the Repository**: ```bash git clone ... ``` 2. **Install Required Libraries**: ```bash pip install -r requirements ``` 3. **Set Up OpenAI API Key**: Ensure you have your OpenAI API key set up. You can either set it as an environment variable or use Streamlit's secrets management. 4. **Run the Application**: ```bash streamlit run .py ``` ## Contributing We welcome contributions from the community. If you'd like to improve the application, feel free to fork the repository, make your changes, and submit a pull request. ## License This project is licensed under the MIT License. For more details, refer to the `LICENSE` file in the repository. ## Acknowledgements Special thanks to the developers of Streamlit, FAISS, NLTK and OpenAI for their incredible tools that made this project possible.