Documentation
¶
Index ¶
- func CacheDisabledOptions() (anthropicOpts []AnthropicOption, openaiOpts []OpenAIOption, ...)
- type AnthropicClient
- type AnthropicOption
- func WithAnthropicBedrock(useBedrock bool) AnthropicOption
- func WithAnthropicDisableCache() AnthropicOption
- func WithAnthropicOAuthToken(token string) AnthropicOption
- func WithAnthropicReasoningEffort(effort string) AnthropicOption
- func WithAnthropicThinkingMode(mode config.ThinkingMode) AnthropicOption
- type AzureClient
- type BedrockClient
- type BedrockOption
- type CopilotClient
- type CopilotOption
- type EventType
- type GeminiClient
- type GeminiOption
- type OpenAIClient
- type OpenAIOption
- type Provider
- type ProviderClient
- type ProviderClientOption
- func WithAPIKey(apiKey string) ProviderClientOption
- func WithAnthropicOptions(anthropicOptions ...AnthropicOption) ProviderClientOption
- func WithBedrockOptions(bedrockOptions ...BedrockOption) ProviderClientOption
- func WithCopilotOptions(copilotOptions ...CopilotOption) ProviderClientOption
- func WithGeminiOptions(geminiOptions ...GeminiOption) ProviderClientOption
- func WithMaxTokens(maxTokens int64) ProviderClientOption
- func WithModel(model models.Model) ProviderClientOption
- func WithOpenAIOptions(openaiOptions ...OpenAIOption) ProviderClientOption
- func WithSystemMessage(systemMessage string) ProviderClientOption
- func WithUseOAuth(useOAuth bool) ProviderClientOption
- type ProviderEvent
- type ProviderResponse
- type TokenUsage
- type VertexAIClient
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CacheDisabledOptions ¶ added in v0.254.0
func CacheDisabledOptions() (anthropicOpts []AnthropicOption, openaiOpts []OpenAIOption, geminiOpts []GeminiOption)
CacheDisabledOptions returns provider options that disable LLM prompt caching, based on the global config. Returns nil slices if caching is enabled.
Types ¶
type AnthropicClient ¶
type AnthropicClient ProviderClient
type AnthropicOption ¶
type AnthropicOption func(*anthropicOptions)
func WithAnthropicBedrock ¶
func WithAnthropicBedrock(useBedrock bool) AnthropicOption
func WithAnthropicDisableCache ¶
func WithAnthropicDisableCache() AnthropicOption
func WithAnthropicOAuthToken ¶ added in v0.16.0
func WithAnthropicOAuthToken(token string) AnthropicOption
func WithAnthropicReasoningEffort ¶ added in v0.200.0
func WithAnthropicReasoningEffort(effort string) AnthropicOption
func WithAnthropicThinkingMode ¶ added in v0.200.0
func WithAnthropicThinkingMode(mode config.ThinkingMode) AnthropicOption
type AzureClient ¶
type AzureClient ProviderClient
type BedrockClient ¶
type BedrockClient ProviderClient
type BedrockOption ¶
type BedrockOption func(*bedrockOptions)
type CopilotClient ¶
type CopilotClient ProviderClient
type CopilotOption ¶
type CopilotOption func(*copilotOptions)
func WithCopilotBaseURL ¶ added in v0.2.0
func WithCopilotBaseURL(baseURL string) CopilotOption
func WithCopilotBearerToken ¶
func WithCopilotBearerToken(bearerToken string) CopilotOption
func WithCopilotExtraHeaders ¶
func WithCopilotExtraHeaders(headers map[string]string) CopilotOption
func WithCopilotReasoningEffort ¶
func WithCopilotReasoningEffort(effort string) CopilotOption
type EventType ¶
type EventType string
const ( EventContentStart EventType = "content_start" EventToolUseStart EventType = "tool_use_start" EventToolUseDelta EventType = "tool_use_delta" EventToolUseStop EventType = "tool_use_stop" EventContentDelta EventType = "content_delta" EventThinkingDelta EventType = "thinking_delta" EventContentStop EventType = "content_stop" EventComplete EventType = "complete" EventError EventType = "error" EventWarning EventType = "warning" )
type GeminiClient ¶
type GeminiClient ProviderClient
type GeminiOption ¶
type GeminiOption func(*geminiOptions)
func WithGeminiDisableCache ¶
func WithGeminiDisableCache() GeminiOption
WithGeminiDisableCache sets the disableCache flag for Gemini providers. NOTE: Gemini uses implicit server-side caching with no public API to disable it. Explicit Context Caching (a separate feature) is not used by Pando. This option is kept for future compatibility when Gemini adds an opt-out mechanism.
type OpenAIClient ¶
type OpenAIClient ProviderClient
type OpenAIOption ¶
type OpenAIOption func(*openaiOptions)
func WithOpenAIBaseURL ¶
func WithOpenAIBaseURL(baseURL string) OpenAIOption
func WithOpenAIDisableCache ¶
func WithOpenAIDisableCache() OpenAIOption
WithOpenAIDisableCache sets the disableCache flag for OpenAI providers. NOTE: OpenAI uses automatic server-side caching that cannot be disabled via API. This option has no effect today but is kept for future compatibility.
func WithOpenAIExtraHeaders ¶
func WithOpenAIExtraHeaders(headers map[string]string) OpenAIOption
func WithReasoningEffort ¶
func WithReasoningEffort(effort string) OpenAIOption
type Provider ¶
type Provider interface {
SendMessages(ctx context.Context, messages []message.Message, tools []tools.BaseTool) (*ProviderResponse, error)
StreamResponse(ctx context.Context, messages []message.Message, tools []tools.BaseTool) <-chan ProviderEvent
Model() models.Model
}
func NewInstrumentedProvider ¶ added in v0.200.0
NewInstrumentedProvider wraps p with OpenTelemetry tracing if observability is enabled. If disabled, returns p unchanged (zero overhead).
func NewProvider ¶
func NewProvider(providerName models.ModelProvider, opts ...ProviderClientOption) (Provider, error)
func NewProviderFromAccount ¶ added in v0.252.0
func NewProviderFromAccount(account config.ProviderAccount, model models.Model, maxTokens int64, systemMessage string) (Provider, error)
NewProviderFromAccount creates a Provider from a named ProviderAccount configuration. This is the preferred way to create providers when using the multi-account system.
type ProviderClient ¶
type ProviderClient interface {
// contains filtered or unexported methods
}
type ProviderClientOption ¶
type ProviderClientOption func(*providerClientOptions)
func WithAPIKey ¶
func WithAPIKey(apiKey string) ProviderClientOption
func WithAnthropicOptions ¶
func WithAnthropicOptions(anthropicOptions ...AnthropicOption) ProviderClientOption
func WithBedrockOptions ¶
func WithBedrockOptions(bedrockOptions ...BedrockOption) ProviderClientOption
func WithCopilotOptions ¶
func WithCopilotOptions(copilotOptions ...CopilotOption) ProviderClientOption
func WithGeminiOptions ¶
func WithGeminiOptions(geminiOptions ...GeminiOption) ProviderClientOption
func WithMaxTokens ¶
func WithMaxTokens(maxTokens int64) ProviderClientOption
func WithModel ¶
func WithModel(model models.Model) ProviderClientOption
func WithOpenAIOptions ¶
func WithOpenAIOptions(openaiOptions ...OpenAIOption) ProviderClientOption
func WithSystemMessage ¶
func WithSystemMessage(systemMessage string) ProviderClientOption
func WithUseOAuth ¶ added in v0.252.0
func WithUseOAuth(useOAuth bool) ProviderClientOption
type ProviderEvent ¶
type ProviderResponse ¶
type ProviderResponse struct {
Content string
ToolCalls []message.ToolCall
Usage TokenUsage
FinishReason message.FinishReason
}
type TokenUsage ¶
type VertexAIClient ¶
type VertexAIClient ProviderClient