Skip to main content

BaseProvider

Abstract base class for all LLM providers.

Properties

  • type: The provider type identifier ('openai' | 'anthropic' | 'gemini' | 'openrouter')
  • config: Provider configuration object

Methods

chat(messages, tools?)

Send a chat completion request to the LLM provider. Parameters:
  • messages: Array of ProviderMessage objects
  • tools?: Optional array of ToolDefinition objects
Returns: Promise<ProviderResponse>

getSupportedModels()

Get list of supported model names for this provider. Returns: string[] - Array of model identifiers

isAvailable()

Check if the provider is available and properly configured. Returns: Promise<boolean>

Provider Types

ProviderType

BaseProviderConfig

ProviderMessage

ToolDefinition

ToolCall

ProviderResponse

Specific Providers

OpenAIProvider

Configuration:
Supported Models:
  • gpt-4
  • gpt-4-turbo
  • gpt-4-turbo-preview
  • gpt-3.5-turbo
  • gpt-3.5-turbo-16k

AnthropicProvider

Configuration:
Supported Models:
  • claude-3-opus-20240229
  • claude-3-sonnet-20240229
  • claude-3-haiku-20240307
  • claude-3-5-sonnet-20240620
  • claude-2.1
  • claude-2
  • claude-instant-1.2

GeminiProvider

Configuration:
Supported Models:
  • gemini-pro
  • gemini-pro-vision
  • gemini-1.5-pro
  • gemini-1.5-flash

OpenRouterProvider

Configuration:
Popular Models:
  • openai/gpt-4
  • anthropic/claude-3-opus
  • anthropic/claude-3-sonnet
  • meta-llama/llama-2-70b-chat
  • google/gemini-pro

ProviderFactory

Factory class for creating and managing provider instances.

Methods

register(type, ProviderClass)

Register a new provider type. Parameters:
  • type: Provider type identifier
  • ProviderClass: Provider class constructor

create(config)

Create a provider instance from configuration. Parameters:
  • config: Provider configuration object
Returns: IProvider instance

getRegisteredTypes()

Get all registered provider types. Returns: ProviderType[]

isRegistered(type)

Check if a provider type is registered. Parameters:
  • type: Provider type to check
Returns: boolean

getSupportedModels(type)

Get supported models for a provider type. Parameters:
  • type: Provider type
Returns: string[] - Array of model names

Usage Examples

Creating a Provider

Using a Provider

Registering a Custom Provider