Proposed
FeedForward uses multiple AI models to generate formative feedback on student assignments. Each assignment may benefit from different models or model configurations. We need to design a flexible system for configuring and managing these AI model instances.
The key considerations include: 1. How multiple models can be assigned to a single assignment 2. How to configure different parameters for the same model across different assignments 3. How to balance flexibility for power users with simplicity for typical users 4. How to allow instructors to select from available models based on ownership and capability
We will implement a "model instance" configuration system with three levels of abstraction:
Provider Level: - LLM providers (OpenAI, Anthropic, etc.) with their authentication details - Providers are associated with API keys and connection details - Providers can offer multiple models
Model Level: - Individual AI models (GPT-4, Claude-3, Llama, etc.) - Models have core capabilities (text, code, vision, audio) - Models have default parameters (temperature, context size) - Models are linked to providers
Model Instance Level: - Specific configurations of models for particular assignments - Can override default parameters (temperature, tokens, etc.) - Defines number of runs for this model on this assignment - Multiple instances can be used in a single assignment
This design will be implemented through the following database structure:
- AIModel table defines the available models and their providers
- AssignmentSettings table defines the assignment-level configuration including aggregation method
- AssignmentModelRun table connects assignments to specific model instances with run counts