Skip to content

changminbark/Chiron-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chiron-AI (TATopia)

The best personalized AI teaching assistant in the world.

Chiron-AI is an intelligent educational technology platform that provides adaptive, personalized tutoring support for students while empowering professors with tools to manage courses and learning materials. Built with a multi-agent AI architecture based on Bloom's taxonomy, it delivers context-aware assistance tailored to each student's learning needs.

Visit us at: chiron-ta.com


Table of Contents


Features

For Students

  • Intelligent AI Tutoring: Chat with an AI teaching assistant powered by specialized expert agents
  • PDF Document Integration: View and interact with course materials while studying
  • Conversation Management: Access chat history and resume previous learning sessions
  • Personalized Learning: AI adapts to your learning style and needs
  • Real-time Responses: Get immediate help with academic questions

For Professors

  • Course Management: Create and manage classes with student enrollment
  • Material Upload: Upload and organize PDF course materials
  • AI-Powered Summarization: Automatically generate summaries of course materials
  • Student Analytics: Track student engagement and learning characteristics
  • Model Configuration: Customize AI assistant behavior for your courses

For Administrators

  • System Administration: Full user and role management capabilities
  • Entity Management: Create and assign users, classes, and materials
  • Platform Oversight: Monitor and manage the entire educational ecosystem

Architecture

Multi-Agent AI System

Chiron-AI uses a sophisticated multi-agent architecture based on Bloom's taxonomy of learning:

[Supervisor Agent] → Routes questions to appropriate specialist
         ↓
    ┌─────────────────────────────────────────┐
    │  7 Expert Agents (Bloom's Taxonomy):    │
    ├─────────────────────────────────────────┤
    │ 1. Recall Agent (basic facts)           │
    │ 2. Conceptual Clarification Agent       │
    │ 3. Application/Procedural Agent         │
    │ 4. Analysis & Reasoning Agent           │
    │ 5. Evaluation & Critique Agent          │
    │ 6. Creation & Synthesis Agent           │
    │ 7. Study Skills Agent                   │
    └─────────────────────────────────────────┘
         ↓
    [Semantic Search Tools + Context Retrieval]
         ↓
    [Evaluation Agent] → Quality control
         ↓
    [Response to Student]

Each agent specializes in a different cognitive level, ensuring students receive appropriate support whether they're memorizing facts or creating new synthesis.


Tech Stack

Backend

  • Framework: FastAPI (Python)
  • AI Orchestration: LangGraph for multi-agent workflows
  • LLM Models: OpenAI (GPT-4o, GPT-4o-mini, o1-mini)
  • Databases:
    • MongoDB (user data, classes, materials, chats)
    • Qdrant (vector database for semantic search)
  • Embeddings: VoyageAI (voyage-3-large)
  • Object Storage: Wasabi S3 (S3-compatible)
  • Authentication: JWT tokens (HS256)
  • Async Runtime: Motor (async MongoDB driver)

Frontend

  • Framework: Next.js 15 (React 18)
  • Language: TypeScript
  • UI Components: Material-UI (MUI), Tailwind CSS
  • PDF Handling: React PDF Viewer, PDF.js
  • Math Rendering: KaTeX
  • Markdown: React Markdown
  • Data Fetching: TanStack Query (React Query)
  • Authentication: JWT with Google OAuth

Infrastructure

  • Backend Hosting: DigitalOcean
  • Frontend Hosting: Vercel
  • Reverse Proxy: NGINX
  • Containers: Docker
  • Debugging: LangSmith
  • Version Control: Git with Git LFS for large assets

Getting Started

Prerequisites

  • Python 3.8+
  • Node.js 18+
  • MongoDB instance (local or Atlas)
  • Qdrant cloud account
  • OpenAI API key
  • VoyageAI API key
  • Wasabi S3 credentials

Backend Setup

  1. Navigate to the backend directory:
cd backend
  1. Create a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Create .env file from example:
cp .env.example .env
  1. Configure environment variables in .env:
OPENAI_API_KEY=your_openai_key
VOYAGEAI_API_KEY=your_voyage_key
MONGODB_URI=your_mongodb_uri
QDRANT_URL=your_qdrant_url
QDRANT_API_KEY=your_qdrant_key
JWT_SECRET_KEY=your_secret_key
WASABI_ACCESS_KEY=your_wasabi_key
WASABI_SECRET_KEY=your_wasabi_secret
  1. Run the development server:
uvicorn app.main:app --reload

The API will be available at http://localhost:8000

Frontend Setup

  1. Navigate to the frontend directory:
cd tatopia-web
  1. Install dependencies:
npm install
  1. Create .env.local file:
NEXT_PUBLIC_API_URL=http://localhost:8000
NEXT_PUBLIC_GOOGLE_CLIENT_ID=your_google_client_id
  1. Run the development server:
npm run dev

The application will be available at http://localhost:3000


Project Structure

Chiron-AI/
├── backend/                     # Python FastAPI application
│   ├── app/
│   │   ├── main.py             # Application entry point
│   │   ├── core/               # Core configuration
│   │   │   ├── settings.py     # Model & API settings
│   │   │   ├── config.py       # Application config
│   │   │   └── database.py     # Database connections
│   │   ├── routers/            # API endpoints
│   │   │   ├── chatbot/        # Chat API routes
│   │   │   ├── common/         # Auth & common routes
│   │   │   └── db/             # Database routes
│   │   ├── services/           # Business logic
│   │   │   ├── chat/           # AI chat services
│   │   │   │   ├── langgraph/  # LangGraph state machine
│   │   │   │   ├── supervisor_agent/
│   │   │   │   ├── expert_agent/
│   │   │   │   └── evaluation_agent/
│   │   │   └── db/             # Database services
│   │   ├── models/             # Pydantic models
│   │   ├── middlewares/        # Auth middleware
│   │   └── utils/              # Utilities
│   └── requirements.txt
│
└── tatopia-web/                # Next.js frontend
    ├── src/
    │   ├── app/                # Next.js pages
    │   │   ├── login/
    │   │   ├── student/
    │   │   ├── professor/
    │   │   └── admin/
    │   ├── components/
    │   │   └── ui/
    │   │       ├── student/
    │   │       ├── professor/
    │   │       ├── admin/
    │   │       └── common/
    │   └── middleware.ts       # Auth middleware
    ├── package.json
    └── next.config.ts

API Documentation

Key Endpoints

Chat Operations

  • POST /chat - Send message and get AI response
  • POST /generate_thread_id - Create new conversation thread
  • POST /prompt_polishing - Refine user prompts

Database Operations

  • POST/GET /students/* - Student management
  • POST/GET /professors/* - Professor management
  • POST/GET /classes/* - Class management
  • POST/GET /materials/* - Course materials
  • POST/GET /chats/* - Chat history

File Operations

  • POST /upload - Upload PDF materials (max 100MB)
  • POST /add_pdf_to_storage - Process PDF into vector embeddings
  • GET /download - Retrieve stored materials

Storage

  • POST /qdrant/* - Vector database operations
  • POST /s3/* - Object storage operations

Deployment

Production Architecture

  • Backend: DigitalOcean Droplet with Uvicorn + NGINX reverse proxy
  • Frontend: Vercel (automatic deployments from git)
  • Database: MongoDB Atlas
  • Vector DB: Qdrant Cloud
  • Object Storage: Wasabi S3

Environment Configuration

Ensure all production environment variables are properly configured:

  • API keys (OpenAI, VoyageAI)
  • Database URIs (MongoDB, Qdrant)
  • JWT secret keys
  • Storage credentials (Wasabi)
  • Domain configurations

Contributing

Development Workflow

  1. Create a feature branch from main
  2. Make your changes
  3. Ensure code quality:
    • Backend: Follow PEP 8 style guide
    • Frontend: Run npm run lint
  4. Test your changes thoroughly
  5. Submit a pull request

Code Review Guidelines

  • Write clear, descriptive commit messages
  • Include tests for new features
  • Update documentation as needed
  • Follow existing code patterns and conventions

License

Proprietary - All rights reserved


Contact

For questions or support, please contact:

  • Repository Owner: Chang Min Bark, Hung Ngo, Duy Le
  • Website: chiron-ta.com

Built with advanced AI technology to revolutionize personalized education.

About

The best personalized AI teaching assistant in the world

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •