File size: 3,576 Bytes
9cbf1f7
 
 
 
 
 
 
 
 
 
 
 
8022880
 
8fb7910
 
 
9e81ea5
 
 
8fb7910
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
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 <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

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