A Python package for generating educational content using Generative AI
Project description
Educhain 🎓🔗
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.
🚀 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
📈 Workflow
Reimagining Education with AI 🤖
- 📜 QnA Engine: Generates an infinte variety of Questions
- 📰 Content Engine: One-stop content generation - lesson plans, flashcards, notes etc
- 📌 Personalization Engine: Adapts to your individual level of understanding for a tailored experience.
🛠 Installation
pip install educhain
🎮 Usage
Starter Guide
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:
🗺 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
🤝 Open Source Contributions Welcome!
We invite you to help enhance our library. If you have any ideas, improvements, or suggestions for enhancements to contribute, please open a GitHub issue or submit a pull request. Be sure to adhere to our existing project structure and include a detailed README.md for any new Contribution.
Thank you for your continued support, community!
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
📬 Contact
- For general inquiries: educhain.in
- For technical support: satvik@buildfastwithai.com
- Follow us on Twitter
Made with ❤️ by Buildfastwithai
You can now copy and paste this directly into your project!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file educhain-0.3.8.tar.gz.
File metadata
- Download URL: educhain-0.3.8.tar.gz
- Upload date:
- Size: 27.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/40.0 requests/2.32.3 requests-toolbelt/1.0.0 urllib3/1.26.20 tqdm/4.66.4 importlib-metadata/6.11.0 keyring/24.0.1 rfc3986/1.5.0 colorama/0.4.6 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
119e4479efc2af5c3fd52eb3bd32b9e2e7b6867e547384d84758900eaabcc991
|
|
| MD5 |
c17d78a9b38ac309212003c2d80e9681
|
|
| BLAKE2b-256 |
3d1b6aa0317c40c15a7d152f34cf1d4315621f01241e48303416049d073debf2
|
File details
Details for the file educhain-0.3.8-py3-none-any.whl.
File metadata
- Download URL: educhain-0.3.8-py3-none-any.whl
- Upload date:
- Size: 28.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/40.0 requests/2.32.3 requests-toolbelt/1.0.0 urllib3/1.26.20 tqdm/4.66.4 importlib-metadata/6.11.0 keyring/24.0.1 rfc3986/1.5.0 colorama/0.4.6 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77aee6bc51817c40d95fef080b8bb3b644c68ab6d0fdbbd708cc48febc14f62a
|
|
| MD5 |
277e238c959cd382f856265063f4eea0
|
|
| BLAKE2b-256 |
2df5acfa74a39a4e6e01532a45059c6f100d044e85c2146080a412882a44dbc8
|