aita-core

User Guide

  • Getting Started
    • Prerequisites
    • Using the Template (Recommended)
    • Manual Setup
      • Step 1: Create Your Course Repository
      • Step 2: Install aita-core
      • Step 3: Set Up Environment Variables
      • Step 4: Add Course Materials
      • Step 5: Create config.py
      • Step 6: Create main.py
      • Step 7: Create add_document.py
      • Step 8: Build the Vector Store
      • Step 9: Test Locally
      • Step 10: Deploy
      • Recommended .gitignore
  • Configuration
    • Field Reference
      • Course Identity
      • Week & Topic Mappings
      • Textbook (Optional)
      • Paths
      • Authentication
      • LLM & Embedding Settings
    • Config Overrides (Admin Panel)
    • Computed Properties
  • Deployment
    • Dockerfile
    • docker-compose.yml
    • Build and Run
    • Custom Port
    • Data Persistence
    • Updating aita-core
    • Cost Estimate
  • Google OAuth Setup
    • Setup Steps
    • How It Works
    • Domain Restriction
    • Troubleshooting

Architecture

  • Architecture
    • Overview
    • Request Flow
    • Week-Aware Filtering
    • Document Ingestion Pipeline
    • Module Dependency Graph
  • Module Overview

API Reference

  • aita_core.config — Configuration
    • CourseConfig
      • CourseConfig.course_id
      • CourseConfig.course_name
      • CourseConfig.course_short_name
      • CourseConfig.course_description
      • CourseConfig.system_prompt
      • CourseConfig.week_topics
      • CourseConfig.topic_num_to_week
      • CourseConfig.hw_num_to_week
      • CourseConfig.lab_num_to_week
      • CourseConfig.study_guide_to_week
      • CourseConfig.example_prompts
      • CourseConfig.base_dir
      • CourseConfig.course_materials_dir
      • CourseConfig.faiss_db_dir
      • CourseConfig.docs_dir
      • CourseConfig.backup_dir
      • CourseConfig.data_dir
      • CourseConfig.admin_password
      • CourseConfig.cookie_name
      • CourseConfig.cookie_key
      • CourseConfig.redirect_uri
      • CourseConfig.admin_emails
      • CourseConfig.google_client_secret_file
      • CourseConfig.semester_start
      • CourseConfig.test_mode
      • CourseConfig.exam_scope
      • CourseConfig.textbook_url
      • CourseConfig.textbook_chapter_to_week
      • CourseConfig.embedding_model
      • CourseConfig.embedding_dimensions
      • CourseConfig.llm_model
      • CourseConfig.llm_temperature
      • CourseConfig.chunk_size
      • CourseConfig.chunk_overlap
      • CourseConfig.retrieval_k
      • CourseConfig.google_auth_enabled
      • CourseConfig.week_to_hw
      • CourseConfig.get_current_week()
      • CourseConfig.get_topics_covered()
      • CourseConfig.get_topics_not_covered()
      • CourseConfig.auto_detect_exam_scope()
      • CourseConfig.get_exam_topics()
      • CourseConfig.load_overrides()
      • CourseConfig.save_overrides()
    • set_config()
    • get_config()
    • Constants
      • INT_KEY_DICT_FIELDS
      • EDITABLE_FIELDS
  • aita_core.app — Streamlit Application
    • Entry Point
      • main()
    • Pages
      • login_page()
      • chat_page()
    • Authentication Helpers
      • resolve_file_path()
    • Chat Page Features
    • Sidebar Widgets
  • aita_core.rag — RAG Pipeline
    • Pipeline Functions
      • chat()
      • retrieve()
      • build_messages()
      • build_system_prompt()
    • Homework Injection
      • _inject_current_hw()
    • Week-Aware System Prompt
      • FUTURE_TOPIC_INSTRUCTION
    • Internal Functions
      • _get_client()
      • _load_index()
  • aita_core.ingest — Document Ingestion
    • Pipeline Runner
      • run_ingestion()
    • Default Collectors
      • collect_handouts()
      • collect_homework()
      • collect_slides()
      • collect_syllabus()
      • collect_wikibook()
    • Document Loaders
      • load_pdf()
      • load_tex()
      • load_wikibook_page()
    • Text Chunking
      • chunk_documents()
      • chunk_text()
    • Embedding & Indexing
      • get_embeddings()
      • build_faiss_index()
      • save_index()
    • Week Assignment
      • get_week_for_filename()
    • Custom Collectors
  • aita_core.db — Database
    • Connection
      • get_conn()
    • Interactions
      • log_interaction()
      • get_interactions()
      • count_interactions()
      • rate_interaction()
    • Feedback
      • add_feedback()
      • get_feedback()
    • Feature Requests
      • add_feature_request()
      • get_feature_requests()
      • update_feature_request_status()
    • Analytics
      • get_interaction_stats()
    • Database Schema
  • aita_core.admin — Admin Dashboard
    • Entry Point
      • admin_page()
      • admin_dashboard()
    • Authentication
      • check_admin_auth()
      • admin_login()
    • Course Settings
      • admin_settings()
    • Dashboard Tabs
  • aita_core.utils — Utilities
    • save_docs_to_jsonl()
    • load_docs_from_jsonl()
aita-core
  • Search


© Copyright 2025, UMN Choi Lab.

Built with Sphinx using a theme provided by Read the Docs.