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 ofProviderMessageobjectstools?: Optional array ofToolDefinitionobjects
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
gpt-4gpt-4-turbogpt-4-turbo-previewgpt-3.5-turbogpt-3.5-turbo-16k
AnthropicProvider
claude-3-opus-20240229claude-3-sonnet-20240229claude-3-haiku-20240307claude-3-5-sonnet-20240620claude-2.1claude-2claude-instant-1.2
GeminiProvider
gemini-progemini-pro-visiongemini-1.5-progemini-1.5-flash
OpenRouterProvider
openai/gpt-4anthropic/claude-3-opusanthropic/claude-3-sonnetmeta-llama/llama-2-70b-chatgoogle/gemini-pro
ProviderFactory
Factory class for creating and managing provider instances.Methods
register(type, ProviderClass)
Register a new provider type.
Parameters:
type: Provider type identifierProviderClass: Provider class constructor
create(config)
Create a provider instance from configuration.
Parameters:
config: Provider configuration object
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
boolean
getSupportedModels(type)
Get supported models for a provider type.
Parameters:
type: Provider type
string[] - Array of model names