Shiksha Sampadan is a GenAI-powered content generator designed to create and translate educational content into 22 different Indian languages. The project simplifies learning by categorizing content into three levels, catering to users with varying degrees of understanding.
- Project Overview
- Features
- Prerequisites
- Installation
- Configuration
- Running the Application
- Customization
- Future Enhancements
Shiksha Sampadan helps generate educational content using books, PDFs, or other learning materials as its knowledge base. It incorporates multi-lingual text-to-speech functionality and translation into 22 Indian regional languages, making learning accessible and diverse.
- Content Generation: Create educational content based on the user's chosen topic and subtopics.
- Multi-Lingual Support: Translate content into 22 Indian languages.
- Text-to-Speech: Convert translated text into speech for a more engaging learning experience.
- Categorized Learning Levels: Content is categorized into three levels to match the learner's understanding:
- Level 1: Layman's terms with real-life examples.
- Level 2: Technical examples for intermediate learners.
- Level 3: Advanced technical content.
- Python 3.9 (or above)
- Virtual Environment (optional but recommended)
- Bhashini API credentials
- Azure OpenAI credentials
To get started with Shiksha Sampadan, follow the steps below:
- Clone the Repository:
git clone <repository_url>
- Create a Python Virtual Environment:
python -m venv env source env/bin/activate # On Windows use `env\Scripts\activate`
- Install Dependencies:
pip install -r requirements.txt
Update the .env
File:
- Navigate to the chatbot
directory.
- Update the .env
file with your Azure OpenAI credentials. Obtain these credentials from here.
Example configuration for .env
:
OPENAI_API_KEY=<your_azure_openai_api_key>
OPENAI_API_TYPE=<your_azure_openai_type e.g azure>
OPENAI_API_VERSION=<your_azure_openai_version>
OPENAI_ENDPOINT=<your_azure_openai_endpoint>
Update the config.py
File:
- Navigate to the bhashini_utils
directory.
- Update the config.py
file with your Bhashini api credentials. Obtain these credentials from here
Example configuration for config.py
:
API_ENDPOINT=<your_bhashini_api_endpoint>
TTS_SERVICE_ID_EN=<text-to-speech_english_service_id>
TRANSLATION_SERVICE_ID_EN_HI=<translation_english_hindi_service_id>
Note: The project currently supports English, Hindi, Bangla, and Kannada. You can add more languages by referring the Bhashini documentation from here
After completing the configuration, start the Streamlit application:
streamlit run app.py
The Streamlit app will be accessible in your web browser, where you can select topics and languages for content generation.
Here is a demonstration video of Shiksha Sampadan in action:
shiksha_sampadan.mp4
-
Learning Levels: To customize the learning levels (Level 1, Level 2, Level 3), navigate to
prompt.py
in thechatbot/chatbot_utils
directory. Modify the prompts according to your needs. -
UI Customization: UI customization options are available in the
config.toml
file located in the.streamlit
directory. Modify the appearance and settings of the Streamlit app as needed.
- Integration with Learning Platforms: Incorporate Shiksha Sampadan with existing learning platforms for a seamless user experience.
- Enhanced Multi-Lingual Support: Extend support to additional Indian languages and dialects.
- AI-Powered Feedback: Implement AI to provide personalized feedback to learners.