customProvider
Build a provider from your own model lookups.
Assembles a provider out of closures that resolve a model id to a model, with
an optional fallback. Use it to alias ids, pin defaults, or route
"provider:model" strings at your own boundary.
let provider = customProvider(
languageModels: ["fast": OpenAIModel("gpt-5.1-mini")],
fallbackProvider: nil
)Signature
func customProvider(
languageModels: [String: any LanguageModel] = [:],
embeddingModels: [String: any EmbeddingModel] = [:],
imageModels: [String: any ImageModel] = [:],
speechModels: [String: any SpeechModel] = [:],
transcriptionModels: [String: any TranscriptionModel] = [:],
rerankingModels: [String: any RerankingModel] = [:],
fallback: ProviderRegistry.Provider? = nil
) -> ProviderRegistry.ProviderDefined in Sources/AI/Core/ProviderRegistry.swift.
Parameters
| Parameter | Type | Default |
|---|---|---|
languageModels | [String: any LanguageModel] | [:] |
embeddingModels | [String: any EmbeddingModel] | [:] |
imageModels | [String: any ImageModel] | [:] |
speechModels | [String: any SpeechModel] | [:] |
transcriptionModels | [String: any TranscriptionModel] | [:] |
rerankingModels | [String: any RerankingModel] | [:] |
fallback | ProviderRegistry.Provider? | nil |
Returns
A ProviderRegistry.Provider.