Documentation
¶
Overview ¶
Package inference provides a single, normalized interface for getting language model completions from multiple providers.
The main entry point is ProviderSetAPI, which lets you:
- register one or more providers (Anthropic, OpenAI Chat Completions, OpenAI Responses, ...),
- configure and rotate API keys,
- send normalized completion requests and receive normalized outputs,
- optionally stream partial text / reasoning and capture HTTP‑level debug information.
Index ¶
- type AddProviderConfig
- type DebugClientBuilder
- type ProviderSetAPI
- func (ps *ProviderSetAPI) AddProvider(ctx context.Context, provider spec.ProviderName, config *AddProviderConfig) (spec.ProviderParam, error)
- func (ps *ProviderSetAPI) AddProviderFromPreset(ctx context.Context, provider spec.ProviderName, ...) (spec.ProviderParam, error)
- func (ps *ProviderSetAPI) DeleteProvider(ctx context.Context, provider spec.ProviderName) error
- func (ps *ProviderSetAPI) FetchCompletion(ctx context.Context, provider spec.ProviderName, ...) (*spec.FetchCompletionResponse, error)
- func (ps *ProviderSetAPI) GetProviderCapability(ctx context.Context, provider spec.ProviderName) (spec.ModelCapabilities, error)
- func (ps *ProviderSetAPI) NewPresetCapabilityResolver(ctx context.Context, runtimeProvider spec.ProviderName, ...) (spec.ModelCapabilityResolver, error)
- func (ps *ProviderSetAPI) SetProviderAPIKey(ctx context.Context, provider spec.ProviderName, apiKey string) error
- type ProviderSetOption
- type SetProviderAPIKeyRequestBody
- type SetProviderAPIKeyResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddProviderConfig ¶
type DebugClientBuilder ¶
type DebugClientBuilder func(p spec.ProviderParam) spec.CompletionDebugger
DebugClientBuilder constructs a CompletionDebugger for a given provider. A nil builder or a nil returned debugger disable debugging for that provider.
type ProviderSetAPI ¶
type ProviderSetAPI struct {
// contains filtered or unexported fields
}
func NewProviderSetAPI ¶
func NewProviderSetAPI( opts ...ProviderSetOption, ) (*ProviderSetAPI, error)
NewProviderSetAPI creates a new ProviderSet and installs the process-wide logger used by this SDK. The logger is chosen via WithLoggerBuilder; if no builder is provided or it returns nil, a no-op logger is used.
func (*ProviderSetAPI) AddProvider ¶
func (ps *ProviderSetAPI) AddProvider( ctx context.Context, provider spec.ProviderName, config *AddProviderConfig, ) (spec.ProviderParam, error)
func (*ProviderSetAPI) AddProviderFromPreset ¶ added in v0.20.0
func (ps *ProviderSetAPI) AddProviderFromPreset( ctx context.Context, provider spec.ProviderName, preset modelpreset.ProviderPreset, ) (spec.ProviderParam, error)
func (*ProviderSetAPI) DeleteProvider ¶
func (ps *ProviderSetAPI) DeleteProvider( ctx context.Context, provider spec.ProviderName, ) error
func (*ProviderSetAPI) FetchCompletion ¶
func (ps *ProviderSetAPI) FetchCompletion( ctx context.Context, provider spec.ProviderName, fetchCompletionRequest *spec.FetchCompletionRequest, opts *spec.FetchCompletionOptions, ) (*spec.FetchCompletionResponse, error)
FetchCompletion processes a completion request for a given provider.
func (*ProviderSetAPI) GetProviderCapability ¶ added in v0.9.1
func (ps *ProviderSetAPI) GetProviderCapability( ctx context.Context, provider spec.ProviderName, ) (spec.ModelCapabilities, error)
func (*ProviderSetAPI) NewPresetCapabilityResolver ¶ added in v0.20.0
func (ps *ProviderSetAPI) NewPresetCapabilityResolver( ctx context.Context, runtimeProvider spec.ProviderName, providerPreset modelpreset.ProviderPreset, modelPreset modelpreset.ModelPreset, completionKey string, ) (spec.ModelCapabilityResolver, error)
func (*ProviderSetAPI) SetProviderAPIKey ¶
func (ps *ProviderSetAPI) SetProviderAPIKey( ctx context.Context, provider spec.ProviderName, apiKey string, ) error
SetProviderAPIKey sets the key for a given provider.
type ProviderSetOption ¶
type ProviderSetOption func(*ProviderSetAPI)
ProviderSetOption configures optional behavior for ProviderSetAPI.
func WithDebugClientBuilder ¶
func WithDebugClientBuilder(builder DebugClientBuilder) ProviderSetOption
WithDebugClientBuilder configures a CompletionDebugger factory. The builder is invoked once per provider when it is added. Returning nil disables debugging for that provider.
func WithLogger ¶
func WithLogger(logger *slog.Logger) ProviderSetOption
type SetProviderAPIKeyRequestBody ¶
type SetProviderAPIKeyRequestBody struct {
APIKey string `json:"apiKey" required:"true"`
}
type SetProviderAPIKeyResponse ¶
type SetProviderAPIKeyResponse struct{}
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
integration
Package integration contains example-style tests that demonstrate how to call the inference-go library against real providers.
|
Package integration contains example-style tests that demonstrate how to call the inference-go library against real providers. |