Built with AutoGen 0.4.8, AItution leverages multiple AI agents to create a personalized learning experience:
- Assessment Agent: Evaluates student knowledge through interactive conversations
- Content Creation Agent: Generates customized course content based on assessment results
- Course Plan Reviewer Agent: Ensures high-quality and structured learning materials
AItution is an innovative AI-powered learning platform that creates personalized learning experiences. The platform uses advanced AI agents to:
- Assess student knowledge and capabilities through interactive conversations
- Generate customized course content based on assessment results
- Create structured learning modules with quizzes and exercises
- Provide real-time feedback and adaptive learning paths
- π€ AI-powered assessment system
- π Automated course content generation
- π― Personalized learning paths
- π Interactive quizzes and exercises
- π Progress tracking
- π Real-time content adaptation
- π Web-based interface
- Python 3.8 or higher
- Node.js 14+ (for frontend)
- OpenAI API key
- SQLite3
- Clone the repository:
git clone https://github.com/yourusername/AItution.git
cd AItution- Create and activate a virtual environment:
python -m venv venv
# On Windows
venv\Scripts\activate
# On macOS/Linux
source venv/bin/activate- Install backend dependencies:
pip install -r requirements.txt- Install frontend dependencies:
cd frontend
npm install- Navigate to the
configdirectory:
cd config
cp secrets.py.example secrets.py- Edit
secrets.pywith your configuration:
OPENAI_API_KEY = 'your-openai-api-key'
FLASK_SECRET_KEY = 'your-secret-key'- Set up environment variables (optional):
# On Windows
set FLASK_ENV=development
set OPENAI_API_KEY=your-api-key
# On macOS/Linux
export FLASK_ENV=development
export OPENAI_API_KEY=your-api-key- Start the backend server:
cd backend
python server.py- Start the frontend development server:
cd frontend
npm start- Access the application at
http://localhost:3000
- POST
/api/assessment/start - Starts a new assessment session
- Returns:
{ "success": true, "session_id": "uuid" }
- GET
/api/assessment/question - Retrieves the next question in the assessment
- Returns:
{ "success": true, "question": "...", "formatted_question": {} }
- POST
/api/assessment/answer - Submit answer to current question
- Body:
{ "answer": "user's answer" }
- GET
/api/assessment/result - Retrieves final assessment results
- Returns:
{ "success": true, "assessment": {} }
- POST
/api/content/start - Begins course content generation
- Returns:
{ "success": true, "session_id": "uuid" }
- GET
/api/content/status - Checks content creation progress
- Returns:
{ "success": true, "progress": {} }
import requests
# Start assessment
response = requests.post('http://localhost:5000/api/assessment/start')
session_id = response.json()['session_id']
# Get first question
question = requests.get('http://localhost:5000/api/assessment/question').json()
# Submit answer
requests.post('http://localhost:5000/api/assessment/answer',
json={'answer': 'User response'})
# Get results
results = requests.get('http://localhost:5000/api/assessment/result').json()import requests
# Start content creation
response = requests.post('http://localhost:5000/api/content/start',
json={'session_id': 'your-session-id'})
# Check progress
status = requests.get('http://localhost:5000/api/content/status',
params={'session_id': 'your-session-id'}).json()We welcome contributions to AItution! Here's how you can help:
- Fork the repository
- Create a new branch (
git checkout -b feature/improvement) - Make your changes
- Run tests (
python -m pytest) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/improvement) - Create a Pull Request
Please ensure your PR:
- Includes tests for new features
- Updates documentation as needed
- Follows the existing code style
- Includes a clear description of changes
This project is licensed under the MIT License - see the LICENSE file for details.
- π« For bugs and features, open an issue on GitHub
- π¬ For questions, start a discussion
- π Check out our Wiki for more documentation
- OpenAI for their powerful AI models
- The open-source community for various tools and libraries
- All contributors who help improve AItution