/educhain

A Python package for generating educational content using Generative AI

Primary LanguagePythonMIT LicenseMIT

Educhain Logo

PyPI version License: MIT Python Versions Downloads

Educhain 🎓🔗

Website | Documentation

Educhain is a powerful Python package that leverages Generative AI to create engaging and personalized educational content. From generating multiple-choice questions to crafting comprehensive lesson plans, Educhain makes it easy to apply AI in various educational scenarios.

Educhain Logo

🚀 Features

  • 📝 Generate Multiple Choice Questions (MCQs)
  • 📊 Create Lesson Plans
  • 🔄 Support for various LLM models
  • 📁 Export questions to JSON, PDF, and CSV formats
  • 🎨 Customizable prompt templates
  • 📚 Generate questions from text/PDF/URL files
  • 📹 Generate questions from YouTube videos
  • 🥽 Generate questions from images

📈 Performance

Educhain consistently outperforms traditional methods in content generation speed and quality:

Performance Comparison Graph

🛠 Installation

pip install educhain

🎮 Usage

Starter Guide

Open In Colab

Quick Start

Get started with content generation in < 3 lines!

from educhain import Educhain

client = Educhain()

ques = client.qna_engine.generate_questions(topic="Newton's Law of Motion",
                                            num=5)
print(ques)
ques.json() # ques.dict()

Supports Different Question Types

Generates different types of questions. See the advanced guide to create a custom question type.

# Supports "Multiple Choice" (default); "True/False"; "Fill in the Blank"; "Short Answer"

from educhain import Educhain

client = Educhain()

ques = client.qna_engine.generate_questions(topic = "Psychology", 
                                            num = 10,
                                            question_type="Fill in the Blank"
                                            custom_instructions = "Only basic questions")

print(ques)
ques.json() #ques.dict()

Use Different LLM Models

To use a custom model, you can pass a model configuration through the LLMConfig class

Here's an example using the Gemini Model

from langchain_google_genai import ChatGoogleGenerativeAI
from educhain import Educhain, LLMConfig

gemini_flash = ChatGoogleGenerativeAI(
    model="gemini-1.5-flash-exp-0827",
    google_api_key="GOOGLE_API_KEY")

flash_config = LLMConfig(custom_model=gemini_flash)

client = Educhain(flash_config) #using gemini model with educhain

ques = client.qna_engine.generate_questions(topic="Psychology",
                                            num=10)

print(ques)
ques.json() #ques.dict()

Customizable Prompt Templates

Configure your prompt templates for more control over input parameters and output quality.

from educhain import Educhain

client = Educhain()

custom_template = """
Generate {num} multiple-choice question (MCQ) based on the given topic and level.
Provide the question, four answer options, and the correct answer.
Topic: {topic}
Learning Objective: {learning_objective}
Difficulty Level: {difficulty_level}
"""

ques = client.qna_engine.generate_questions(
    topic="Python Programming",
    num=2,
    learning_objective="Usage of Python classes",
    difficulty_level="Hard",
    prompt_template=custom_template,
)

print(ques)

Generate Questions from Data Sources

Ingest your own data to create content. Currently supports URL/PDF/TXT.

from educhain import Educhain
client = Educhain()

ques = client.qna_engine.generate_questions_from_data(
    source="https://en.wikipedia.org/wiki/Big_Mac_Index",
    source_type="url",
    num=5)

print(ques)
ques.json() # ques.dict()

Generate Lesson Plans

Create interactive and detailed lesson plans.

from educhain import Educhain

client = Educhain()

plan = client.content_engine.generate_lesson_plan(
                              topic = "Newton's Law of Motion")

print(plan)
plan.json()  # plan.dict()

📊 Supported Question Types

  • Multiple Choice Questions (MCQ)
  • Short Answer Questions
  • True/False Questions
  • Fill in the Blank Questions

🔧 Advanced Configuration

Educhain offers advanced configuration options to fine-tune its behavior. Check our advanced guide for more details. (coming soon!)

🌟 Success Stories

Educators worldwide are using Educhain to transform their teaching. Read our case studies to learn more.

📈 Usage Statistics

Educhain's adoption has been growing rapidly:

Usage Growth Graph

🗺 Roadmap

  • Bulk Generation
  • Outputs in JSON format
  • Custom Prompt Templates
  • Custom Response Models using Pydantic
  • Exports questions to JSON/PDF/CSV
  • Support for other LLM models
  • Generate questions from text/PDF file
  • Integration with popular Learning Management Systems
  • Mobile app for on-the-go content generation

🤝 Contributing

We welcome contributions! Please see our Contribution Guide for more details.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📬 Contact

For bug reports or feature requests, please open an issue on our GitHub repository.


Educhain Logo

Made with ❤️ by Buildfastwithai

www.educhain.in


You can now copy and paste this directly into your project!