Documentation ¶
Index ¶
- func SetClientOptions(options ClientOptions)
- type AIAgent
- type BaseProvider
- type BestPickerCombiner
- type ClaudeAIProvider
- type ClientOptions
- type ConcatCombiner
- type GeminiAIProvider
- type GrokProvider
- type OpenAIProvider
- type ParallelPipeline
- type Pipeline
- type Provider
- type ProviderResponse
- type RequestDetails
- type ResultCombiner
- type SerialPipeline
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SetClientOptions ¶
func SetClientOptions(options ClientOptions)
SetClientOptions allows customization of the HTTP client
Types ¶
type BaseProvider ¶
func (*BaseProvider) GetEnvOrDefault ¶
func (p *BaseProvider) GetEnvOrDefault(key, defaultValue string) string
type BestPickerCombiner ¶
type BestPickerCombiner struct {
// contains filtered or unexported fields
}
BestPickerCombiner uses an AI provider to select the best result
func NewBestPickerCombiner ¶
func NewBestPickerCombiner(picker Provider) *BestPickerCombiner
BestPickerCombiner implementation
func (*BestPickerCombiner) Combine ¶
func (c *BestPickerCombiner) Combine(ctx context.Context, results []ProviderResponse) (string, error)
type ClaudeAIProvider ¶
type ClaudeAIProvider struct {
BaseProvider
}
func NewClaudeAIProvider ¶
func NewClaudeAIProvider() (*ClaudeAIProvider, error)
func (*ClaudeAIProvider) GenerateResponse ¶
func (*ClaudeAIProvider) Name ¶
func (p *ClaudeAIProvider) Name() string
type ClientOptions ¶
ClientOptions holds options for customizing the HTTP client
type ConcatCombiner ¶
type ConcatCombiner struct {
// contains filtered or unexported fields
}
ConcatCombiner simply concatenates all results
func NewConcatCombiner ¶
func NewConcatCombiner(separator string) *ConcatCombiner
ConcatCombiner implementation
func (*ConcatCombiner) Combine ¶
func (c *ConcatCombiner) Combine(_ context.Context, results []ProviderResponse) (string, error)
type GeminiAIProvider ¶
type GeminiAIProvider struct { BaseProvider // contains filtered or unexported fields }
func NewGeminiAIProvider ¶
func NewGeminiAIProvider() (*GeminiAIProvider, error)
func (*GeminiAIProvider) GenerateResponse ¶
func (*GeminiAIProvider) Name ¶
func (p *GeminiAIProvider) Name() string
type GrokProvider ¶
type GrokProvider struct {
BaseProvider
}
func NewGrokProvider ¶
func NewGrokProvider() (*GrokProvider, error)
func (*GrokProvider) GenerateResponse ¶
func (*GrokProvider) Name ¶
func (p *GrokProvider) Name() string
type OpenAIProvider ¶
type OpenAIProvider struct {
BaseProvider
}
func NewOpenAIProvider ¶
func NewOpenAIProvider() (*OpenAIProvider, error)
func (*OpenAIProvider) GenerateResponse ¶
func (*OpenAIProvider) Name ¶
func (p *OpenAIProvider) Name() string
type ParallelPipeline ¶
type ParallelPipeline struct {
// contains filtered or unexported fields
}
ParallelPipeline executes multiple providers and combines/selects results
func NewParallelPipeline ¶
func NewParallelPipeline(providers []Provider, combiner ResultCombiner) *ParallelPipeline
type Provider ¶
type Provider interface { GenerateResponse(ctx context.Context, prompt string) (string, error) Name() string }
func NewProvider ¶
type ProviderResponse ¶
ProviderResponse pairs the provider name with its response
type RequestDetails ¶
type RequestDetails struct { URL string APIKey string RequestBody interface{} AdditionalHeaders map[string]string }
RequestDetails holds the details for an HTTP request
type ResultCombiner ¶
type ResultCombiner interface {
Combine(ctx context.Context, results []ProviderResponse) (string, error)
}
ResultCombiner defines how multiple results should be combined
type SerialPipeline ¶
type SerialPipeline struct {
// contains filtered or unexported fields
}
SerialPipeline passes output from one provider to the next
func NewSerialPipeline ¶
func NewSerialPipeline(providers []Provider) *SerialPipeline
Click to show internal directories.
Click to hide internal directories.