Abstract Class: OpenAICompatibleProvider
Defined in: providers/openai-compatible.ts:137
Abstract base class for OpenAI-compatible LLM providers
Provides shared implementation for providers that use the OpenAI chat completions API format (OpenAI, Ollama, Azure OpenAI, Gemini).
Extended by
OllamaProviderOpenAIProviderGeminiLegacyProviderTogetherProviderGroqProviderFireworksProviderPerplexityProviderOpenRouterProvider
Implements
Constructors
Constructor
new OpenAICompatibleProvider(config): OpenAICompatibleProvider;
Defined in: providers/openai-compatible.ts:149
Parameters
| Parameter | Type |
|---|---|
config | OpenAICompatibleConfig |
Returns
OpenAICompatibleProvider
Properties
name
abstract readonly name: string;
Defined in: providers/openai-compatible.ts:141
Provider name (e.g., ‘openai’, ‘ollama’, ‘gemini’)
Implementation of
Methods
chat()
chat(messages, options?): AsyncIterable<StreamChunk>;
Defined in: providers/openai-compatible.ts:222
Stream chat completion from the provider
Parameters
| Parameter | Type | Description |
|---|---|---|
messages | Message[] | Conversation messages |
options? | ChatOptions | Chat options (thinking is ignored for non-Claude providers) |
Returns
AsyncIterable<StreamChunk>
Implementation of
countTokens()
countTokens(messages): Promise<number>;
Defined in: providers/openai-compatible.ts:631
Count tokens in messages using tiktoken (cl100k_base encoding)
Parameters
| Parameter | Type |
|---|---|
messages | Message[] |
Returns
Promise<number>
Implementation of
getModel()
getModel(): string;
Defined in: providers/openai-compatible.ts:158
Get the current default model ID.
Returns
string
Implementation of
setModel()
setModel(modelId): void;
Defined in: providers/openai-compatible.ts:162
Change the default model for subsequent calls. Same provider only. Takes effect on the next chat() call, not mid-stream.
Parameters
| Parameter | Type | Description |
|---|---|---|
modelId | string | The new model ID (e.g., ‘claude-opus-4-20250514’) |
Returns
void