AbstractOpenAILLMClient

constructor(settings: OpenAIBaseSettings, httpClient: KoogHttpClient, clock: Clock = Clock.System, logger: KLogger, toolsConverter: OpenAICompatibleToolDescriptorSchemaGenerator)(source)

Parameters

settings

Configuration settings including base URL, API paths, and timeout configuration.

httpClient

A fully configured KoogHttpClient for making API requests. Must have authentication and other request defaults (base URL, timeouts, headers) already embedded. To use a Ktor-backed client with standard OpenAI-compatible defaults, use the secondary constructor that accepts an HttpClient and an API key.

clock

Clock instance used for tracking response metadata timestamps. Defaults to Clock.System.


constructor(apiKey: String, settings: OpenAIBaseSettings, baseClient: HttpClient = HttpClient(), clientName: String = "OpenAICompatibleClient", clock: Clock = Clock.System, logger: KLogger, toolsConverter: OpenAICompatibleToolDescriptorSchemaGenerator)(source)

Secondary constructor for creating a client backed by a Ktor HttpClient. Configures authentication, base URL, timeouts, and JSON serialization automatically from apiKey and settings.