wrapProvider

Wrap every model a provider produces.

Applies middleware at the provider level, so every model the provider hands out is already wrapped. Saves repeating the same wrapping at each call site.

let provider = wrapProvider(
  provider: myProvider,
  languageModelMiddleware: [.cache()]
)

Signature

func wrapProvider(
    provider: ProviderRegistry.Provider,
    languageModelMiddleware: [LanguageModelMiddleware] = [],
    embeddingModelMiddleware: [EmbeddingModelMiddleware] = [],
    imageModelMiddleware: [ImageModelMiddleware] = []
) -> ProviderRegistry.Provider

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

Parameters

ParameterTypeDefault
providerProviderRegistry.Providerrequired
languageModelMiddleware[LanguageModelMiddleware][]
embeddingModelMiddleware[EmbeddingModelMiddleware][]
imageModelMiddleware[ImageModelMiddleware][]

Returns

A WrappedProvider.

See also