LLMCapability enum

Enumeration of LLM capabilities that providers can support

This enum provides a high-level categorization of AI provider capabilities for documentation, selection, and informational purposes. Note that:

  • Actual feature support may vary by specific model within the same provider
  • OpenAI-compatible providers may have different capabilities than declared
  • Some features are detected at runtime rather than through capability checks
  • This is primarily for informational and selection purposes
Inheritance
Available extensions

Values

chat → const LLMCapability

Basic chat functionality

streaming → const LLMCapability

Streaming chat responses

embedding → const LLMCapability

Vector embeddings generation

textToSpeech → const LLMCapability

Text-to-speech conversion

streamingTextToSpeech → const LLMCapability

Streaming text-to-speech conversion

speechToText → const LLMCapability

Speech-to-text conversion

audioTranslation → const LLMCapability

Audio translation (speech to English text)

realtimeAudio → const LLMCapability

Real-time audio processing

modelListing → const LLMCapability

Model listing

toolCalling → const LLMCapability

Function/tool calling

reasoning → const LLMCapability

Reasoning/thinking capabilities

This indicates the provider/model supports reasoning, but the actual thinking process output varies significantly between providers:

  • OpenAI o1/o3 series: Internal reasoning, no thinking output visible
  • Anthropic Claude: May output thinking process in responses
  • DeepSeek Reasoner: Outputs detailed reasoning steps
  • Other providers: Varies by implementation

The actual reasoning content is detected at runtime through response parsing (e.g., <think> tags, thinking fields) rather than through this capability declaration.

vision → const LLMCapability

Vision/image understanding capabilities

completion → const LLMCapability

Text completion (non-chat)

imageGeneration → const LLMCapability

Image generation capabilities

fileManagement → const LLMCapability

File management capabilities

moderation → const LLMCapability

Content moderation capabilities

assistants → const LLMCapability

Assistant capabilities

liveSearch → const LLMCapability

Live search capabilities (real-time web search)

This indicates the provider supports real-time web search functionality, allowing models to access current information from the internet.

Supported Providers:

  • xAI Grok: Native live search with web and news sources
  • Other providers: May vary by implementation

The actual search functionality is configured through provider-specific search parameters rather than through this capability declaration.

openaiResponses → const LLMCapability

OpenAI Responses API capabilities

This indicates the provider supports OpenAI's stateful Responses API, which provides advanced features beyond standard chat completions:

Key Features:

  • Stateful conversations: Automatic conversation history management
  • Background processing: Asynchronous response generation
  • Response lifecycle: Get, delete, cancel operations on responses
  • Built-in tools: Web search, file search, computer use
  • Response chaining: Continue conversations from previous responses

Usage:

if (provider.supports(LLMCapability.openaiResponses)) {
  final openaiProvider = provider as OpenAIProvider;
  final responsesAPI = openaiProvider.responses;
  // Use advanced Responses API features
}

Note: This is currently OpenAI-specific as other providers don't yet support similar stateful conversation APIs.

Properties

hashCode int
The hash code for this object.
no setterinherited
index int
A numeric identifier for the enumerated value.
no setterinherited
name String

Available on Enum, provided by the EnumName extension

The name of the enum value.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

values → const List<LLMCapability>
A constant List of the values in this enum, in order of their declaration.