Package com.tnsai.llm

Class ModelCapabilities

java.lang.Object
com.tnsai.llm.ModelCapabilities
All Implemented Interfaces:
LLMCapabilities

public class ModelCapabilities extends Object implements LLMCapabilities
Default implementation of LLMCapabilities with builder pattern.

ModelCapabilities provides a concrete implementation of the LLMCapabilities interface, making it easy to define model capabilities statically or dynamically.

Static Model Profiles

Pre-defined capability profiles for popular models:


 // Get predefined profile
 LLMCapabilities gpt4o = ModelCapabilities.GPT_4O;
 LLMCapabilities claude = ModelCapabilities.CLAUDE_SONNET_4;

 // Check capabilities
 if (gpt4o.supportsVision()) {
     // Use multimodal features
 }
 

Custom Capabilities


 LLMCapabilities custom = ModelCapabilities.builder()
     .providerName("CustomProvider")
     .modelId("my-model-v1")
     .supportsStreaming(true)
     .supportsVision(false)
     .supportsFunctionCalling(true)
     .supportsStructuredOutput(true)
     .maxInputTokens(32000)
     .maxOutputTokens(4096)
     .supportedModalities(Set.of(Modality.TEXT))
     .inputCostPer1KTokens(0.001)
     .outputCostPer1KTokens(0.002)
     .build();
 
See Also:
  • Field Details

    • GPT_4O

      public static final ModelCapabilities GPT_4O
      OpenAI GPT-4o capabilities
    • GPT_4O_MINI

      public static final ModelCapabilities GPT_4O_MINI
      OpenAI GPT-4o-mini capabilities
    • GPT_4_TURBO

      public static final ModelCapabilities GPT_4_TURBO
      OpenAI GPT-4-turbo capabilities
    • O1

      public static final ModelCapabilities O1
      OpenAI o1 (reasoning) capabilities
    • CLAUDE_SONNET_4

      public static final ModelCapabilities CLAUDE_SONNET_4
      Anthropic Claude Sonnet 4 capabilities
    • CLAUDE_35_SONNET

      public static final ModelCapabilities CLAUDE_35_SONNET
      Anthropic Claude 3.5 Sonnet capabilities
    • CLAUDE_3_OPUS

      public static final ModelCapabilities CLAUDE_3_OPUS
      Anthropic Claude 3 Opus capabilities
    • GEMINI_25_FLASH

      public static final ModelCapabilities GEMINI_25_FLASH
      Google Gemini 2.5 Flash capabilities
    • GEMINI_15_PRO

      public static final ModelCapabilities GEMINI_15_PRO
      Google Gemini 1.5 Pro capabilities
    • LLAMA_32

      public static final ModelCapabilities LLAMA_32
      Meta Llama 3.2 (via Ollama) capabilities
    • MISTRAL_LARGE

      public static final ModelCapabilities MISTRAL_LARGE
      Mistral Large capabilities
    • GROQ_LLAMA_33_70B

      public static final ModelCapabilities GROQ_LLAMA_33_70B
      Groq Llama 3.3 70B capabilities
    • GLM_4_PLUS

      public static final ModelCapabilities GLM_4_PLUS
      ZhipuAI GLM-4-Plus - Most capable ZhipuAI model
    • GLM_4V_PLUS

      public static final ModelCapabilities GLM_4V_PLUS
      ZhipuAI GLM-4V-Plus - Vision capable model
    • GLM_4_FLASH

      public static final ModelCapabilities GLM_4_FLASH
      ZhipuAI GLM-4-Flash - Fast and efficient
    • CODEGEEX_4

      public static final ModelCapabilities CODEGEEX_4
      ZhipuAI CodeGeeX-4 - Code specialized
    • MINIMAX_M2

      public static final ModelCapabilities MINIMAX_M2
      MiniMax M2 - Flagship model with 1M context
    • MINIMAX_M21

      public static final ModelCapabilities MINIMAX_M21
      MiniMax M2.1 - Enhanced multilingual model
    • MINIMAX_ABAB65S

      public static final ModelCapabilities MINIMAX_ABAB65S
      MiniMax abab6.5s-chat - Balanced performance
    • MINIMAX_ABAB65T

      public static final ModelCapabilities MINIMAX_ABAB65T
      MiniMax abab6.5t-chat - Turbo model for fast responses
    • UNKNOWN

      public static final ModelCapabilities UNKNOWN
      Unknown/default capabilities
  • Constructor Details

    • ModelCapabilities

      public ModelCapabilities()
  • Method Details