Skip to content

This AI language learning assistant combines a Streamlit UI with a powerful backend using Hugging Face Transformers (PyTorch) for grammar/NLP tasks and the OpenAI API for advanced speech recognition. The stack is completed with audio-recorder-streamlit for voice capture, Hugging Face Datasets for exercise content, and essential libraries like NumPy

License

Notifications You must be signed in to change notification settings

Trinath052004/AI-Language-Learning-Assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

title emoji colorFrom colorTo sdk sdk_version app_file pinned
AI Language Learning Assistant
🎓
blue
purple
streamlit
1.49.1
app.py
false

🗣️ Indian Language Learning Assistant

An AI-powered Streamlit application designed to help users learn and practice Indian languages through word meaning exercises. The app generates English questions about word meanings and allows users to respond in their native Indian language through both text and voice input.

🌟 Features

  • Multi-language Support: Supports 13 major Indian languages
  • AI-Generated Questions: Automatic generation of word meaning questions in English
  • Dual Input Methods: Text and voice input capabilities
  • Local Data Storage: All responses are stored locally for privacy
  • Progress Tracking: View your learning progress and previous responses
  • User-Friendly Interface: Clean, intuitive Streamlit interface
  • Open Source: Built with open-source AI models

🌐 Supported Languages

The application supports the following Indian languages:

  • Hindi (हिन्दी)
  • Bengali (বাংলা)
  • Telugu (తెలుగు)
  • Marathi (मराठी)
  • Tamil (தமிழ்)
  • Gujarati (ગુજરાતી)
  • Urdu (اردو)
  • Kannada (ಕನ್ನಡ)
  • Malayalam (മലയാളം)
  • Odia (ଓଡ଼ିଆ)
  • Punjabi (ਪੰਜਾਬੀ)
  • Assamese (অসমীয়া)
  • Sanskrit (संस्कृत)

🚀 Quick Start

Prerequisites

  • Python 3.8 or higher
  • pip package manager

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/indian-language-learning-assistant.git
    cd indian-language-learning-assistant
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run the application:

    streamlit run app.py
  4. Open your browser: Navigate to http://localhost:8501

For Hugging Face Spaces

This app is ready to deploy on Hugging Face Spaces:

  1. Upload all files to your Hugging Face Space repository
  2. Set the Space type to "Streamlit"
  3. The app will automatically deploy

📁 Project Structure

indian-language-learning-assistant/
├── app.py                  # Main Streamlit application
├── requirements.txt        # Python dependencies
├── README.md              # Project documentation
├── CONTRIBUTING.md        # Contribution guidelines
├── CHANGELOG.md           # Version history
├── LICENSE               # MIT License
├── REPORT.md             # Technical report
├── user_responses/        # Local storage directory (auto-created)
│   ├── response_*.json   # User text responses
│   └── audio_*.wav       # User audio responses
└── assets/               # Static assets (if any)

🎯 How to Use

  1. Select Language: Choose your native Indian language from the dropdown in the sidebar
  2. Generate Question: Click "Generate New Question" to get an AI-generated word meaning question in English
  3. Provide Response:
    • Text: Type your explanation of the word meaning in your selected language
    • Voice: Click the microphone button to record your spoken response
  4. Submit: Click "Submit Response" to save your answer locally
  5. Track Progress: View your previous responses and learning statistics

🛠️ Technical Details

AI Backend

  • Text Generation: Uses Microsoft's DialoGPT-medium model for question generation
  • Audio Processing: Handles audio recording and storage using SoundFile
  • Language Support: Implements language codes following ISO 639-1 standards

Data Storage

  • Local Storage: All user data is stored locally in JSON and WAV formats
  • Privacy-First: No data is sent to external servers
  • Structured Format: Responses include metadata like timestamp, language, and question context

Dependencies

  • Streamlit: Web application framework
  • Transformers: Hugging Face transformers library for AI models
  • SoundFile: Audio file handling
  • audio-recorder-streamlit: Audio recording component

🔧 Configuration

Environment Variables

No environment variables are required for basic functionality. The app works out of the box.

Customization

  • Add Languages: Modify the INDIAN_LANGUAGES dictionary in app.py
  • Change Models: Update the model loading function to use different AI models
  • Modify Questions: Customize the word list or implement more sophisticated question generation

📊 Features in Detail

AI Question Generation

  • Automatically generates diverse word meaning questions
  • Focuses on common vocabulary for practical learning
  • Questions are always in English for consistency

Multi-modal Input

  • Text Input: Large text area for detailed written responses
  • Voice Recording: One-click audio recording with visual feedback
  • Dual Submission: Users can provide both text and voice responses

Progress Tracking

  • Response Counter: Tracks total number of responses
  • Language Distribution: Shows usage statistics across different languages
  • Historical View: Access to previous responses with timestamps

Local Data Management

  • JSON Storage: Structured storage of text responses with metadata
  • Audio Files: WAV format audio storage with unique identifiers
  • File Organization: Timestamp-based file naming for easy management

🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines on:

  • Reporting bugs
  • Suggesting features
  • Submitting pull requests
  • Code style guidelines

📈 Roadmap

  • Advanced AI models for better question generation
  • Speech-to-text functionality for audio analysis
  • Multi-user support with user profiles
  • Export functionality for learning data
  • Integration with more Indian languages
  • Difficulty levels and adaptive learning
  • Community features and shared learning

📄 License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.

🙋‍♂️ Support

For support, questions, or feedback:

  • Create an issue on GitHub
  • Review the CHANGELOG.md for version updates

🎉 Acknowledgments

  • Hugging Face for providing open-source AI models
  • Streamlit team for the excellent web framework
  • The Indian language community for inspiration and feedback
  • Contributors and users who help improve the application

Made with ❤️ for Indian language learners

About

This AI language learning assistant combines a Streamlit UI with a powerful backend using Hugging Face Transformers (PyTorch) for grammar/NLP tasks and the OpenAI API for advanced speech recognition. The stack is completed with audio-recorder-streamlit for voice capture, Hugging Face Datasets for exercise content, and essential libraries like NumPy

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages