Documentation
¶
Overview ¶
Package loadbalance provides a virtual provider that distributes requests across multiple providers. It supports multiple strategies including round-robin, random, and weighted distribution for load balancing and resource optimization.
Index ¶
- type Config
- type LoadBalanceProvider
- func (lb *LoadBalanceProvider) Authenticate(ctx context.Context, authConfig types.AuthConfig) error
- func (lb *LoadBalanceProvider) Configure(config types.ProviderConfig) error
- func (lb *LoadBalanceProvider) Description() string
- func (lb *LoadBalanceProvider) GenerateChatCompletion(ctx context.Context, opts types.GenerateOptions) (types.ChatCompletionStream, error)
- func (lb *LoadBalanceProvider) GetConfig() types.ProviderConfig
- func (lb *LoadBalanceProvider) GetDefaultModel() string
- func (lb *LoadBalanceProvider) GetMetrics() types.ProviderMetrics
- func (lb *LoadBalanceProvider) GetModels(ctx context.Context) ([]types.Model, error)
- func (lb *LoadBalanceProvider) GetToolFormat() types.ToolFormat
- func (lb *LoadBalanceProvider) HealthCheck(ctx context.Context) error
- func (lb *LoadBalanceProvider) InvokeServerTool(ctx context.Context, toolName string, params interface{}) (interface{}, error)
- func (lb *LoadBalanceProvider) IsAuthenticated() bool
- func (lb *LoadBalanceProvider) Logout(ctx context.Context) error
- func (lb *LoadBalanceProvider) Name() string
- func (lb *LoadBalanceProvider) SetMetricsCollector(collector types.MetricsCollector)
- func (lb *LoadBalanceProvider) SetProviders(providers []types.Provider)
- func (lb *LoadBalanceProvider) SupportsResponsesAPI() bool
- func (lb *LoadBalanceProvider) SupportsStreaming() bool
- func (lb *LoadBalanceProvider) SupportsToolCalling() bool
- func (lb *LoadBalanceProvider) Type() types.ProviderType
- type Strategy
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LoadBalanceProvider ¶
type LoadBalanceProvider struct {
// contains filtered or unexported fields
}
LoadBalanceProvider distributes requests across providers
func NewLoadBalanceProvider ¶
func NewLoadBalanceProvider(name string, config *Config) *LoadBalanceProvider
func (*LoadBalanceProvider) Authenticate ¶
func (lb *LoadBalanceProvider) Authenticate(ctx context.Context, authConfig types.AuthConfig) error
func (*LoadBalanceProvider) Configure ¶
func (lb *LoadBalanceProvider) Configure(config types.ProviderConfig) error
func (*LoadBalanceProvider) Description ¶
func (lb *LoadBalanceProvider) Description() string
func (*LoadBalanceProvider) GenerateChatCompletion ¶
func (lb *LoadBalanceProvider) GenerateChatCompletion(ctx context.Context, opts types.GenerateOptions) (types.ChatCompletionStream, error)
func (*LoadBalanceProvider) GetConfig ¶
func (lb *LoadBalanceProvider) GetConfig() types.ProviderConfig
func (*LoadBalanceProvider) GetDefaultModel ¶
func (lb *LoadBalanceProvider) GetDefaultModel() string
func (*LoadBalanceProvider) GetMetrics ¶
func (lb *LoadBalanceProvider) GetMetrics() types.ProviderMetrics
func (*LoadBalanceProvider) GetToolFormat ¶
func (lb *LoadBalanceProvider) GetToolFormat() types.ToolFormat
func (*LoadBalanceProvider) HealthCheck ¶
func (lb *LoadBalanceProvider) HealthCheck(ctx context.Context) error
func (*LoadBalanceProvider) InvokeServerTool ¶
func (lb *LoadBalanceProvider) InvokeServerTool(ctx context.Context, toolName string, params interface{}) (interface{}, error)
func (*LoadBalanceProvider) IsAuthenticated ¶
func (lb *LoadBalanceProvider) IsAuthenticated() bool
func (*LoadBalanceProvider) Logout ¶
func (lb *LoadBalanceProvider) Logout(ctx context.Context) error
func (*LoadBalanceProvider) Name ¶
func (lb *LoadBalanceProvider) Name() string
func (*LoadBalanceProvider) SetMetricsCollector ¶ added in v1.0.7
func (lb *LoadBalanceProvider) SetMetricsCollector(collector types.MetricsCollector)
func (*LoadBalanceProvider) SetProviders ¶
func (lb *LoadBalanceProvider) SetProviders(providers []types.Provider)
func (*LoadBalanceProvider) SupportsResponsesAPI ¶
func (lb *LoadBalanceProvider) SupportsResponsesAPI() bool
func (*LoadBalanceProvider) SupportsStreaming ¶
func (lb *LoadBalanceProvider) SupportsStreaming() bool
func (*LoadBalanceProvider) SupportsToolCalling ¶
func (lb *LoadBalanceProvider) SupportsToolCalling() bool
func (*LoadBalanceProvider) Type ¶
func (lb *LoadBalanceProvider) Type() types.ProviderType
Click to show internal directories.
Click to hide internal directories.