/tutor

Primary LanguagePythonMIT LicenseMIT

OmniTutor

app links:

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:

    git clone ...
  2. Install Required Libraries:

    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:

    streamlit run <filename>.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

Thanks to the developers of Streamlit, FAISS, NLTK and OpenAI for their incredible tools that made this project possible.

Special thanks to Xuying Li, as my mentor and colleague, who gave me most significant support during the whole process of this project from zero to one.