ReliableProviders
Convenience methods for wrapping provider clients with reliability features.
Provides easy-to-use factory methods for creating reliable versions of each LLM provider client (OpenAI, Anthropic, Gemini, Ollama, OpenRouter, Zai).
Example usage:
// Create a reliable OpenAI client with default settings
val client = ReliableProviders.openai(
OpenAIConfig(
apiKey = "sk-...",
model = "gpt-4o"
)
)
// Or with custom reliability config
val aggressiveClient = ReliableProviders.openai(
OpenAIConfig(apiKey = "sk-...", model = "gpt-4o"),
ReliabilityConfig.aggressive
)
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ReliableProviders.type
Members list
Value members
Concrete methods
Create a reliable Anthropic client.
Create a reliable Anthropic client.
Value parameters
- config
-
Anthropic configuration
- metrics
-
Metrics collector (default: noop)
- reliabilityConfig
-
Reliability configuration (default: ReliabilityConfig.default)
Attributes
- Returns
-
Right(ReliableClient) wrapping AnthropicClient, or Left(LLMError) on failure
Create a reliable Azure OpenAI client.
Create a reliable Azure OpenAI client.
Value parameters
- config
-
Azure OpenAI configuration
- metrics
-
Metrics collector (default: noop)
- reliabilityConfig
-
Reliability configuration (default: ReliabilityConfig.default)
Attributes
- Returns
-
Right(ReliableClient) wrapping OpenAIClient, or Left(LLMError) on failure
Create a reliable Gemini client.
Create a reliable Gemini client.
Value parameters
- config
-
Gemini configuration
- metrics
-
Metrics collector (default: noop)
- reliabilityConfig
-
Reliability configuration (default: ReliabilityConfig.default)
Attributes
- Returns
-
Right(ReliableClient) wrapping GeminiClient, or Left(LLMError) on failure
Create a reliable Ollama client.
Create a reliable Ollama client.
Value parameters
- config
-
Ollama configuration
- metrics
-
Metrics collector (default: noop)
- reliabilityConfig
-
Reliability configuration (default: ReliabilityConfig.default)
Attributes
- Returns
-
Right(ReliableClient) wrapping OllamaClient, or Left(LLMError) on failure
Create a reliable OpenRouter client.
Create a reliable OpenRouter client.
OpenRouter uses OpenAI-compatible configuration.
Value parameters
- config
-
OpenAI configuration (works with OpenRouter)
- metrics
-
Metrics collector (default: noop)
- reliabilityConfig
-
Reliability configuration (default: ReliabilityConfig.default)
Attributes
- Returns
-
Right(ReliableClient) wrapping OpenRouterClient, or Left(LLMError) on failure
Create a reliable OpenAI client.
Create a reliable OpenAI client.
Value parameters
- config
-
OpenAI configuration
- metrics
-
Metrics collector (default: noop)
- reliabilityConfig
-
Reliability configuration (default: ReliabilityConfig.default)
Attributes
- Returns
-
Right(ReliableClient) wrapping OpenAIClient, or Left(LLMError) on failure
Wrap any existing LLMClient with reliability features.
Wrap any existing LLMClient with reliability features.
Use this when you already have a configured LLMClient instance.
Value parameters
- client
-
The client to wrap
- metrics
-
Optional metrics collector
- providerName
-
Explicit provider name for metrics (e.g., "openai", "anthropic")
- reliabilityConfig
-
Reliability configuration (default: ReliabilityConfig.default)
Attributes
- Returns
-
ReliableClient wrapping the provided client
Create a reliable Zai client.
Create a reliable Zai client.
Value parameters
- config
-
Zai configuration
- metrics
-
Metrics collector (default: noop)
- reliabilityConfig
-
Reliability configuration (default: ReliabilityConfig.default)
Attributes
- Returns
-
Right(ReliableClient) wrapping ZaiClient, or Left(LLMError) on failure