fallback

package
v1.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 29, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package fallback provides a virtual provider that implements fallback logic. It tries providers sequentially in order until one succeeds, providing automatic failover for improved reliability when individual providers fail.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	ProviderNames []string `yaml:"providers"`
	MaxRetries    int      `yaml:"max_retries"`
}

type FallbackProvider

type FallbackProvider struct {
	// contains filtered or unexported fields
}

FallbackProvider tries providers in order until one succeeds

func NewFallbackProvider

func NewFallbackProvider(name string, config *Config) *FallbackProvider

func (*FallbackProvider) Authenticate

func (f *FallbackProvider) Authenticate(ctx context.Context, authConfig types.AuthConfig) error

func (*FallbackProvider) Configure

func (f *FallbackProvider) Configure(config types.ProviderConfig) error

func (*FallbackProvider) Description

func (f *FallbackProvider) Description() string

func (*FallbackProvider) GenerateChatCompletion

func (f *FallbackProvider) GenerateChatCompletion(ctx context.Context, opts types.GenerateOptions) (types.ChatCompletionStream, error)

func (*FallbackProvider) GetConfig

func (f *FallbackProvider) GetConfig() types.ProviderConfig

func (*FallbackProvider) GetDefaultModel

func (f *FallbackProvider) GetDefaultModel() string

func (*FallbackProvider) GetMetrics

func (f *FallbackProvider) GetMetrics() types.ProviderMetrics

func (*FallbackProvider) GetModels

func (f *FallbackProvider) GetModels(ctx context.Context) ([]types.Model, error)

func (*FallbackProvider) GetToolFormat

func (f *FallbackProvider) GetToolFormat() types.ToolFormat

func (*FallbackProvider) HealthCheck

func (f *FallbackProvider) HealthCheck(ctx context.Context) error

func (*FallbackProvider) InvokeServerTool

func (f *FallbackProvider) InvokeServerTool(ctx context.Context, toolName string, params interface{}) (interface{}, error)

func (*FallbackProvider) IsAuthenticated

func (f *FallbackProvider) IsAuthenticated() bool

func (*FallbackProvider) Logout

func (f *FallbackProvider) Logout(ctx context.Context) error

func (*FallbackProvider) Name

func (f *FallbackProvider) Name() string

func (*FallbackProvider) SetProviders

func (f *FallbackProvider) SetProviders(providers []types.Provider)

func (*FallbackProvider) SupportsResponsesAPI

func (f *FallbackProvider) SupportsResponsesAPI() bool

func (*FallbackProvider) SupportsStreaming

func (f *FallbackProvider) SupportsStreaming() bool

func (*FallbackProvider) SupportsToolCalling

func (f *FallbackProvider) SupportsToolCalling() bool

func (*FallbackProvider) Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL