Skip to content

[FEATURE] User-Selectable AI Model Provider System #31

@JStaRFilms

Description

@JStaRFilms

Overview

Expand JohnGPT's multi-engine support (FR014) to allow users to select their preferred AI model directly from the UI. This enables each user to choose from an extensive list of AI providers and models.

Background

The original FR014 implementation provides backend multi-engine support. This feature extends that to give users direct control over which model processes their conversations.

Requirements

Core Functionality

  • UI Model Selector: Add a dropdown/modal in the JohnGPT interface for model selection
  • Per-User Preferences: Store each user's preferred model in their profile/settings
  • Extensive Provider Support:
    • OpenRouter (access to 100+ models)
    • Groq (fast inference)
    • Google AI (Gemini models)
    • OpenAI (GPT-4, GPT-4o, etc.)
    • Anthropic (Claude models)
    • Local models (Ollama, LM Studio)

User Experience

  • Easy-to-use model picker in chat interface
  • Model capabilities/descriptions shown
  • Fallback to default model if selected model is unavailable
  • Remember last-used model per user

Admin Controls (FR027)

  • Admin can configure which providers are available
  • Manage API keys for each provider
  • Set default model for guests/new users
  • Enable/disable specific models

Related PRD Requirements

  • FR014: Multi-Engine Support (base implementation)
  • FR023: Test Multiple AI Models (A/B testing feature)
  • FR027: Admin JohnGPT Settings

Technical Considerations

  • Use OpenRouter as a unified gateway for multiple models
  • Implement provider abstraction layer for seamless switching
  • Handle rate limits and quotas per provider
  • Cost tracking per model usage

Priority

High - Core feature for JohnGPT flexibility


Created: December 6, 2025

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions