Documentation
¶
Index ¶
- type OpenAIProvider
- func (p *OpenAIProvider) CalculateCost(tokensIn, tokensOut, cachedTokens int) types.CostInfo
- func (p *OpenAIProvider) GetMultimodalCapabilities() providers.MultimodalCapabilities
- func (p *OpenAIProvider) Predict(ctx context.Context, req providers.PredictionRequest) (providers.PredictionResponse, error)
- func (p *OpenAIProvider) PredictMultimodal(ctx context.Context, req providers.PredictionRequest) (providers.PredictionResponse, error)
- func (p *OpenAIProvider) PredictMultimodalStream(ctx context.Context, req providers.PredictionRequest) (<-chan providers.StreamChunk, error)
- func (p *OpenAIProvider) PredictStream(ctx context.Context, req providers.PredictionRequest) (<-chan providers.StreamChunk, error)
- type OpenAIToolProvider
- func (p *OpenAIToolProvider) BuildTooling(descriptors []*providers.ToolDescriptor) (interface{}, error)
- func (p *OpenAIToolProvider) PredictMultimodalWithTools(ctx context.Context, req providers.PredictionRequest, tools interface{}, ...) (providers.PredictionResponse, []types.MessageToolCall, error)
- func (p *OpenAIToolProvider) PredictWithTools(ctx context.Context, req providers.PredictionRequest, tools interface{}, ...) (providers.PredictionResponse, []types.MessageToolCall, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type OpenAIProvider ¶
type OpenAIProvider struct {
providers.BaseProvider
// contains filtered or unexported fields
}
OpenAIProvider implements the Provider interface for OpenAI
func NewOpenAIProvider ¶
func NewOpenAIProvider(id, model, baseURL string, defaults providers.ProviderDefaults, includeRawOutput bool) *OpenAIProvider
NewOpenAIProvider creates a new OpenAI provider
func (*OpenAIProvider) CalculateCost ¶
func (p *OpenAIProvider) CalculateCost(tokensIn, tokensOut, cachedTokens int) types.CostInfo
CalculateCost calculates detailed cost breakdown including optional cached tokens
func (*OpenAIProvider) GetMultimodalCapabilities ¶
func (p *OpenAIProvider) GetMultimodalCapabilities() providers.MultimodalCapabilities
GetMultimodalCapabilities returns OpenAI's multimodal capabilities
func (*OpenAIProvider) Predict ¶
func (p *OpenAIProvider) Predict(ctx context.Context, req providers.PredictionRequest) (providers.PredictionResponse, error)
Predict sends a predict request to OpenAI
func (*OpenAIProvider) PredictMultimodal ¶
func (p *OpenAIProvider) PredictMultimodal(ctx context.Context, req providers.PredictionRequest) (providers.PredictionResponse, error)
PredictMultimodal performs a predict request with multimodal content
func (*OpenAIProvider) PredictMultimodalStream ¶
func (p *OpenAIProvider) PredictMultimodalStream(ctx context.Context, req providers.PredictionRequest) (<-chan providers.StreamChunk, error)
PredictMultimodalStream performs a streaming predict request with multimodal content
func (*OpenAIProvider) PredictStream ¶
func (p *OpenAIProvider) PredictStream(ctx context.Context, req providers.PredictionRequest) (<-chan providers.StreamChunk, error)
PredictStream streams a predict response from OpenAI
type OpenAIToolProvider ¶
type OpenAIToolProvider struct {
*OpenAIProvider
}
OpenAIToolProvider extends OpenAIProvider with tool support
func NewOpenAIToolProvider ¶
func NewOpenAIToolProvider(id, model, baseURL string, defaults providers.ProviderDefaults, includeRawOutput bool, additionalConfig map[string]interface{}) *OpenAIToolProvider
NewOpenAIToolProvider creates a new OpenAI provider with tool support
func (*OpenAIToolProvider) BuildTooling ¶
func (p *OpenAIToolProvider) BuildTooling(descriptors []*providers.ToolDescriptor) (interface{}, error)
BuildTooling converts tool descriptors to OpenAI format
func (*OpenAIToolProvider) PredictMultimodalWithTools ¶
func (p *OpenAIToolProvider) PredictMultimodalWithTools(ctx context.Context, req providers.PredictionRequest, tools interface{}, toolChoice string) (providers.PredictionResponse, []types.MessageToolCall, error)
PredictMultimodalWithTools implements providers.MultimodalToolSupport interface for OpenAIToolProvider This allows combining multimodal content (images) with tool calls in a single request
func (*OpenAIToolProvider) PredictWithTools ¶
func (p *OpenAIToolProvider) PredictWithTools(ctx context.Context, req providers.PredictionRequest, tools interface{}, toolChoice string) (providers.PredictionResponse, []types.MessageToolCall, error)
PredictWithTools performs a prediction request with tool support