ExLLM.Core.Capabilities (ex_llm v0.8.1)
View SourceUnified capability querying with automatic normalization.
This is the main interface for checking capabilities across providers and models. It handles normalization of different capability names used by various providers.
Examples
# Check if a provider supports a capability
ExLLM.Core.Capabilities.supports?(:openai, :function_calling)
# => true
# Works with provider-specific names too
ExLLM.Core.Capabilities.supports?(:anthropic, :tool_use) # normalized to :function_calling
# => true
# Check if a specific model supports a capability
ExLLM.Core.Capabilities.model_supports?(:openai, "gpt-4o", :vision)
# => true
# Find all providers that support a capability
ExLLM.Core.Capabilities.find_providers(:image_generation)
# => [:openai]
Summary
Functions
Get human-readable name for a capability.
Find all models that support a capability (normalized).
Find all providers that support a capability (normalized).
Get detailed capability information for a provider.
List all normalized capability names.
Check if any model from a provider supports a capability.
Check if a specific model supports a capability (normalized).
Get normalized capability name.
Check if a provider supports a capability (normalized).
Functions
Get human-readable name for a capability.
Find all models that support a capability (normalized).
Find all providers that support a capability (normalized).
Get detailed capability information for a provider.
Returns both provider-level and model-level capabilities with normalization applied.
@spec list_capabilities() :: [atom()]
List all normalized capability names.
Check if any model from a provider supports a capability.
Check if a specific model supports a capability (normalized).
Get normalized capability name.
Check if a provider supports a capability (normalized).
This checks both provider-level capabilities and model-level capabilities.