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

Defined in Sources/AI/Core/ProviderRegistry.swift.

Parameters

ParameterTypeDefault
languageModels[String: any LanguageModel][:]
embeddingModels[String: any EmbeddingModel][:]
imageModels[String: any ImageModel][:]
speechModels[String: any SpeechModel][:]
transcriptionModels[String: any TranscriptionModel][:]
rerankingModels[String: any RerankingModel][:]
fallbackProviderRegistry.Provider?nil

Returns

A ProviderRegistry.Provider.

See also