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
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.