Provider API

Provider contracts are exported from @kortyx/providers.

Key types

TS
interface ModelOptions { temperature?: number; streaming?: boolean; } interface KortyxModel { stream(messages: Array<HumanMessage | SystemMessage>): AsyncIterable<AIMessageChunk> | Promise<AsyncIterable<AIMessageChunk>>; invoke(messages: Array<HumanMessage | SystemMessage>): Promise<BaseMessage>; temperature: number; streaming: boolean; } type GetProviderFn = ( providerId: string, modelId: string, options?: ModelOptions, ) => KortyxModel;

Factory helpers

  • initializeProviders(config)
  • getProvider(providerId, modelId, options?)
  • hasProvider(providerId)
  • getInitializedProviders()
  • getAvailableModels(providerId)
  • createGoogleProvider(apiKey)

Error behavior

getProvider throws when:

  • provider is not initialized
  • model id is unknown for the selected provider

This fail-fast behavior is useful during app startup and misconfiguration.