Skip to content

@aeye/openai — API Reference

OpenAIProvider

typescript
class OpenAIProvider<TConfig extends OpenAIConfig = OpenAIConfig>
  implements Provider<TConfig>

Constructor

typescript
new OpenAIProvider(config: OpenAIConfig)

OpenAIConfig

typescript
interface OpenAIConfig {
  apiKey: string;
  baseURL?: string;
  organization?: string;
  project?: string;
  store?: boolean;
  retry?: RetryConfig;
  defaultModels?: {
    chat?: string;
    imageGenerate?: string;
    imageEdit?: string;
    imageAnalyze?: string;
    transcription?: string;
    speech?: string;
    embedding?: string;
    edit?: string;
  };
  hooks?: OpenAIHooks;
}

RetryConfig

typescript
interface RetryConfig {
  maxRetries?: number;
  initialDelay?: number;
  maxDelay?: number;
  backoffMultiplier?: number;
  jitter?: boolean;
  retryableStatuses?: number[];
  timeout?: number;
}

OpenAIHooks

typescript
interface OpenAIHooks {
  chat?: {
    beforeRequest?: (request, params, ctx, metadata) => void;
    afterRequest?: (request, response, responseComplete, ctx, metadata) => void;
    onError?: (request, params, error, ctx, metadata) => void;
  };
  // Similar hooks for imageGenerate, imageEdit, speech, transcribe, embed
}

Error Types

ClassDescription
ProviderErrorBase provider error
ProviderAuthErrorAuthentication failure
RateLimitErrorRate limit exceeded
ProviderRateLimitErrorProvider-specific rate limit
ProviderQuotaErrorAccount quota exceeded
ContextWindowErrorInput exceeds context window

Released under the GPL-3.0 License.