Overview
Flow ID: select-llm-model
Category: Model Management
Estimated Duration: 1-2 minutes
User Role: All Users
Complexity: Simple
Purpose: This flow allows users to choose which AI language model will be used for chat conversations. Different models have different capabilities, speeds, and specialties. Selecting the appropriate model ensures optimal performance for your specific needs.
Related Flows
- Upload Large Language Model - Add models to choose from
- Configure Context Window Size - Adjust model parameters
- Run Full Benchmark Suite - Compare model performance
- View Model Information - See details about selected model
- Create New Empty Chat - Use selected model in conversation
Prerequisites
Before starting, users must have:
- Application installed and running
- At least one language model uploaded
- Preferably: Multiple models to choose from
- Understanding that changing models will reload the AI (takes 30-60 seconds)
Step-by-Step Flow
Main Path (Happy Path)
Step 1: Navigate to Settings
- User Action: Click "Settings" in the main navigation menu
- System Response: Settings page loads
- UI Elements Visible:
- Navigation menu with "Settings" highlighted
- Settings page content area
- Multiple tabs across the top
- Visual Cues: Settings gear icon, highlighted navigation item
Step 2: Access Chat Options Tab
- User Action: Click the "Chat Options" tab in the Settings page
- System Response: Chat Options section displays
- UI Elements Visible:
- "Chat Options" tab (now highlighted/active)
- Page content showing chat configuration options
- Model selection section at the top
- Label: "Chat AI Model" or similar
- Dropdown selector showing currently active model
- Additional settings below (context window, lookback size, etc.)
- Visual Cues: Active tab is visually distinct, model selector is prominent
Step 3: Locate Model Selector
- User Action: Find the "Chat AI Model" dropdown selector
- System Response: N/A (static element)
- UI Elements Visible:
- Label "Chat AI Model" or "Language Model"
- Dropdown showing currently selected model name
- Down arrow icon indicating it's a dropdown
- Possibly: Tooltip icon with information
- Visual Cues: Dropdown has standard dropdown styling, current model name visible
Step 4: Open Model Dropdown
- User Action: Click on the model dropdown selector
- System Response: Dropdown menu expands showing all available models
- UI Elements Visible:
- Expanded dropdown list
- Each model shown with:
- Model name
- Model type indicator (e.g., "LLM")
- Currently selected model has checkmark or highlight
- Dropdown overlay may dim background
- Visual Cues:
- Dropdown expands downward
- Currently selected model has distinct styling
- Hover state on dropdown items
Step 5: Review Available Models
- User Action: Read through the list of available models
- System Response: List remains open for browsing
- UI Elements Visible:
- Full list of uploaded language models
- Model names (e.g., "Llama-3-8B-Instruct", "Mistral-7B")
- Type indicators
- Current selection marked
- Visual Cues:
- Scrollable list if many models
- Clear visual distinction between models
Step 6: Select Different Model
- User Action: Click on the desired model from the dropdown
- System Response:
- Dropdown closes
- Selected model name appears in the selector
- Save button may appear or become enabled
- System may show loading indicator
- UI Elements Visible:
- Dropdown closed, showing newly selected model
- "Save" button (if not auto-save)
- Possibly: Confirmation message or loading indicator
- Model information card may update to show new model details
- Visual Cues:
- Selected model now displayed in dropdown
- Visual feedback that selection changed
Step 7: Save Selection (if required)
- User Action: Click "Save" button if changes aren't automatic
- System Response:
- Settings are saved
- Model begins loading
- Loading indicator appears
- UI Elements Visible:
- Loading spinner or progress indicator
- Status text: "Loading model..." or "Initializing..."
- Progress percentage (possibly)
- Visual Cues:
- Animated loading indicator
- May see splash screen or overlay while model loads
Step 8: Model Loading Process
- User Action: Wait for new model to load (30 seconds to 2 minutes)
- System Response:
- System unloads previous model
- Loads new model into memory
- Initializes model for inference
- May display loading progress
- UI Elements Visible:
- Loading splash screen or overlay
- Progress bar
- Status messages: "Loading [Model Name]...", "Initializing model..."
- Percentage complete (possibly)
- Cannot interact with other parts of application during this time
- Visual Cues:
- Animated progress indicators
- Page may be dimmed or blocked during loading
Step 9: Model Loading Completes
- User Action: No action required
- System Response:
- Loading indicator disappears
- Success message may appear briefly
- Settings page returns to normal
- New model is now active
- UI Elements Visible:
- Normal Settings page view
- Model selector showing new model as active
- Possibly: Success notification "Model loaded successfully"
- Model information card showing details of new model
- Visual Cues:
- Green checkmark or success color
- Loading indicators removed
- Interface fully responsive again
Step 10: Verify Model Change
- User Action: Confirm the new model is selected in the dropdown
- System Response: Dropdown shows new model as current selection
- UI Elements Visible:
- Model selector displaying new model name
- Model details (if shown): Name, Type, Max Tokens, Path
- No loading or error indicators
- Visual Cues: New model name clearly visible
Final Step: Model Change Complete
- Success Indicator:
- New model appears as selected in dropdown
- No error messages
- Can navigate away from Settings
- Model is ready for use in conversations
- System State Change:
- New model loaded into memory
- All new chat conversations will use this model
- Existing conversations maintain their history but will use new model for new responses
- Setting saved to database for persistence
- Next Possible Actions:
- Return to Chat page to start conversation with new model
- Adjust related settings (context window size, temperature, etc.)
- Run benchmark to test new model performance
- Continue exploring Settings
Alternative Paths & Strategies
Strategy A: Quick Select from Model Info Card
When to use: If Settings page shows detailed model info card with selection option
Steps:
- Navigate to Settings > Chat Options
- Locate model information card (may be below dropdown)
- If card shows different model, click "Use This Model" button in card
- Model selection updates automatically
- Model begins loading
Strategy B: Select via Chat Page (if available)
When to use: If model selector is accessible from chat interface
Steps:
- From Chat page, look for model indicator or selector (may be in header or toolbar)
- Click model name or selector icon
- Choose different model from menu
- Confirm selection if prompted
- Model loads and chat continues with new model
QA Note: This path is not currently available based on knowledge base review but included as potential alternative design.
Strategy C: Change During Conversation
When to use: User wants to continue same conversation with different model
Steps:
- From active chat, navigate to Settings
- Select new model (Steps 1-9 from main path)
- Return to chat conversation
- Next message will use new model
- Previous messages remain unchanged
- Conversation context is preserved
Error States & Recovery
Error 1: No Models Available
Cause: No language models have been uploaded
User Experience:
- Dropdown is empty or shows "No models available"
- Cannot select a model
- May see message: "Please upload a model first"
Recovery Steps:
- Navigate to Chat AI Models tab or similar model upload area
- Upload a language model (see llm-model-upload.md)
- Wait for upload to complete
- Return to Chat Options
- New model should now appear in dropdown
Error 2: Model Loading Fails
Cause: Insufficient memory, corrupted model file, or system error
User Experience:
- Loading progress stops or fails
- Error message: "Failed to load model" or "Model error"
- May revert to previous model or leave no model active
Recovery Steps:
- Note the error message if provided
- Try selecting the model again
- If fails again, try selecting a different model
- Check system resources (RAM usage)
- Close other applications to free memory
- If persists, model file may be corrupted - try re-uploading
- Restart application as last resort
Error 3: Model Loading Timeout
Cause: Very large model taking too long to load
User Experience:
- Loading continues for excessive time (>5 minutes)
- May see error: "Loading timeout" or system may appear frozen
Recovery Steps:
- Wait a bit longer (some large models can take 3-5 minutes)
- If truly stuck (no progress for 5+ minutes), refresh page or restart application
- Try selecting a smaller model
- Check available RAM - large models may require 16GB+ RAM
- Consider using a more powerful computer for very large models
Error 4: Permission or File Access Error
Cause: System cannot access model file
User Experience:
- Error message: "Cannot access model file" or "Permission denied"
- Model fails to load
Recovery Steps:
- Verify model file still exists in models directory
- Check file permissions
- Try restarting application with appropriate permissions
- Re-upload model if file appears missing or corrupted
- Contact support if permissions issues persist
Error 5: Model Incompatibility
Cause: Model format not compatible with current application version
User Experience:
- Error message: "Incompatible model format" or similar
- Model fails to load
Recovery Steps:
- Check model file format (should be compatible format like .gguf)
- Verify application is up to date
- Check model documentation for compatibility requirements
- Try different model that's known to be compatible
- Update application if model requires newer version
QA Note: This error should be rare if model upload process validates compatibility. Included for completeness.
Version History
| Date | Version | Author | Changes |
|---|---|---|---|
| 2025-10-04 | 1.1 | Iternal Technologies | Initial comprehensive documentation |
Notes
Important Considerations:
- Changing models requires reloading the AI, which takes 30 seconds to 2 minutes depending on model size
- Larger models (13B+ parameters) may not run on systems with limited RAM (<16GB)
- The application must remain open during model loading; closing it will interrupt the process
- Model selection persists across application restarts
- All new conversations will use the selected model
- Existing conversation history is preserved when changing models
Best Practices:
- Choose models based on your priorities: smaller models are faster, larger models more capable
- Test models with benchmark suite to understand their performance on your hardware
- Use smaller models (3B-7B parameters) for quick interactions
- Use larger models (13B-70B parameters) for complex reasoning tasks
- Keep at least 2 models uploaded: one for speed, one for quality
- Document which models work best for which types of questions
Common User Questions:
- "Which model should I use?" - Depends on your hardware and needs; start with medium-sized models (7B-8B parameters)
- "Can I use multiple models at once?" - No, only one model can be active for chat at a time
- "Will changing models affect my chat history?" - No, history is preserved; only new responses use the new model
- "How do I know which model is best?" - Run benchmarks or try different models with the same questions to compare
- "Why does loading take so long?" - Large models (several GB) must be loaded into RAM, which takes time
Trigger
What initiates this flow:
- User manually initiates
Specific trigger: User needs to change which AI model is being used for conversations, typically because:
- They want to try a different model with different capabilities
- Current model is slow or not providing desired quality
- They've just uploaded a new model and want to use it
- They want a model better suited for a specific task
- System is using a default model they want to change
User Intent Analysis
Primary Intent
Switch to a different AI language model to use for chat conversations, ensuring the chosen model matches their current needs for quality, speed, or specialization.
Secondary Intents
- Optimize performance (speed vs. quality trade-off)
- Test different models to find the best one
- Use specialized models for specific tasks
- Resolve issues with current model
- Take advantage of newly uploaded models
Subintents
- Understand differences between available models
- Ensure smooth transition without losing conversation data
- Minimize downtime during model switch