Skip to content

OpenAICompatibleLLMConfig

Configuration for any OpenAI-compatible LLM provider.

Defined in: src/providers/llm/openai-compatible/OpenAICompatibleLLM.ts:72

Configuration for any OpenAI-compatible LLM provider.

Remarks

Provide either apiKey (direct API access) or proxyUrl (server-side proxy). At least one must be set; if both are provided, proxyUrl takes precedence and the SDK sends requests through the proxy, which injects the real API key server-side.

All subclass config interfaces (e.g., OpenAILLMConfig, GroqLLMConfig) extend this interface and may add provider-specific fields.

Example

// Direct API access
const config: OpenAICompatibleLLMConfig = {
  apiKey: 'sk-...',
  model: 'gpt-4',
  baseURL: 'https://api.openai.com/v1',
  stream: true,
};

// Via server-side proxy
const proxyConfig: OpenAICompatibleLLMConfig = {
  proxyUrl: 'http://localhost:3000/api/proxy/openai',
  model: 'gpt-4',
};

See

LLMProviderConfig for inherited base properties (temperature, maxTokens, systemPrompt, etc.).

Extends

Extended by

Properties

PropertyTypeDefault valueDescriptionOverridesInherited fromDefined in
apiKey?stringundefinedAPI key for the provider. Required when connecting directly. Omit when using proxyUrl.LLMProviderConfig.apiKey-src/providers/llm/openai-compatible/OpenAICompatibleLLM.ts:79
baseURL?stringProvider-specific (set by each subclass)Base URL for the provider’s API. Remarks Defaults differ per subclass (e.g., OpenAI uses https://api.openai.com/v1, Groq uses https://api.groq.com/openai/v1). This value is ignored when proxyUrl is set.--src/providers/llm/openai-compatible/OpenAICompatibleLLM.ts:112
debug?booleanfalseWhether to enable debug logging for this provider. Remarks When true, the provider emits detailed internal logs. This is separate from the SDK-level LoggingConfig.-LLMProviderConfig.debugsrc/core/types/providers.ts:86
endpoint?stringundefinedCustom endpoint URL to override the provider’s default API endpoint. Remarks Useful for self-hosted instances, proxy servers, or development environments.-LLMProviderConfig.endpointsrc/core/types/providers.ts:75
maxRetries?number3Maximum number of retries for failed API requests.--src/providers/llm/openai-compatible/OpenAICompatibleLLM.ts:118
maxTokens?numberundefinedMaximum number of tokens to generate in the response. Remarks For voice applications, lower values (100-300) help keep responses concise and reduce TTS latency.-LLMProviderConfig.maxTokenssrc/core/types/providers.ts:589
modelstringundefinedModel identifier for the provider. Example 'gpt-4'`, `'llama-3.3-70b-versatile'`, `'gemini-2.0-flash'LLMProviderConfig.model-src/providers/llm/openai-compatible/OpenAICompatibleLLM.ts:101
proxyUrl?stringundefinedURL of the CompositeVoice proxy server endpoint for this provider. Remarks When set, the OpenAI SDK sends requests to this URL instead of the provider’s native endpoint, and a dummy API key ('proxy') is used. The proxy server is responsible for injecting the real API key. Example proxyUrl: 'http://localhost:3000/api/proxy/openai'--src/providers/llm/openai-compatible/OpenAICompatibleLLM.ts:95
stopSequences?string[]undefinedSequences that cause the LLM to stop generating. Remarks When the model generates any of these sequences, generation halts. Useful for controlling response boundaries.-LLMProviderConfig.stopSequencessrc/core/types/providers.ts:627
stream?booleanundefinedWhether to stream the LLM response token by token. Remarks When true, the provider yields tokens incrementally via an async iterable. Streaming is essential for low-latency voice applications as it allows TTS to begin synthesizing before the full response is generated.-LLMProviderConfig.streamsrc/core/types/providers.ts:618
systemPrompt?stringundefinedSystem prompt providing instructions and context to the LLM. Remarks Sets the behavior and persona of the assistant. For voice applications, include instructions to keep responses brief and conversational.-LLMProviderConfig.systemPromptsrc/core/types/providers.ts:608
temperature?numberundefinedTemperature for controlling generation randomness. Remarks Values from 0 (deterministic) to 2 (highly creative). Lower values produce more focused responses; higher values increase variety.-LLMProviderConfig.temperaturesrc/core/types/providers.ts:580
timeout?numberundefinedRequest timeout in milliseconds. Remarks Applies to HTTP requests (REST providers) and connection establishment (WebSocket providers). Set to 0 for no timeout.-LLMProviderConfig.timeoutsrc/core/types/providers.ts:95
topP?numberundefinedTop-P (nucleus) sampling parameter. Remarks Limits token selection to the smallest set whose cumulative probability exceeds this value. Values from 0 to 1. Often used as an alternative to temperature.-LLMProviderConfig.topPsrc/core/types/providers.ts:599

© 2026 CompositeVoice. All rights reserved.

Font size
Contrast
Motion
Transparency