Skip to content

Handle model configuration for different providers in generic fashion #96

@wisedev-pstach

Description

@wisedev-pstach

Current State:
The SupportedModels.cs class in MaIN.Domain currently contains a list of local LLM models without clear indication that it's specific to local models only.

Requirements:

  1. Clarify Scope: Rename or refactor the class to explicitly indicate it refers to local models only (e.g., LocalSupportedModels or similar naming that makes this distinction clear)

  2. Extend Configuration Support: Design and implement a flexible configuration system that supports:

    • Local LLM models (existing functionality)
    • Local Image models
    • Text-to-Speech (TTS) models
  3. Multi-Purpose Usage: The configuration should be usable in multiple contexts:

    • CLI interface (for downloading models)
    • ModelContext (for runtime model selection)
  4. Enable Custom Models: Implement a way to use models outside the predefined list. Consider introducing a ModelConfig record (or similar approach) that can be passed to chat/agent contexts, allowing users to specify custom model configurations.

Implementation Guidelines:

  • Developer has creative freedom in implementation approach
  • Primary Goal: Maximize user-friendliness and ease of use
  • Solution should be intuitive and require minimal configuration overhead

Acceptance Criteria:

  • Clear distinction between local and other model types
  • Support for LLM, Image, and TTS models
  • Functional in both CLI and ModelContext scenarios
  • Ability to use custom models not in the predefined list
  • Clean, maintainable code structure

Does this capture what needs to be done more clearly?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestfeatureNew work being planned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions