Documentation
¶
Index ¶
- func ApplyModelCapabilitiesOverrides(dst *spec.ModelCapabilities, overrides ...*ModelCapabilitiesOverride)
- func CloneModelCapabilities(in spec.ModelCapabilities) spec.ModelCapabilities
- func DeriveModelCapabilities(base spec.ModelCapabilities, overrides ...*ModelCapabilitiesOverride) spec.ModelCapabilities
- func ValidateModelCapabilitiesOverride(o *ModelCapabilitiesOverride) error
- type CacheCapabilitiesOverride
- type CacheControlCapabilitiesOverride
- type CompletionKeyResolver
- type ModelCapabilitiesOverride
- type OutputCapabilitiesOverride
- type ParamDialectOverride
- type ReasoningCapabilitiesOverride
- type ReasoningTokenBudgetCapabilitiesOverride
- type StopSequenceCapabilitiesOverride
- type ToolCapabilitiesOverride
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyModelCapabilitiesOverrides ¶
func ApplyModelCapabilitiesOverrides( dst *spec.ModelCapabilities, overrides ...*ModelCapabilitiesOverride, )
func CloneModelCapabilities ¶
func CloneModelCapabilities(in spec.ModelCapabilities) spec.ModelCapabilities
func DeriveModelCapabilities ¶
func DeriveModelCapabilities( base spec.ModelCapabilities, overrides ...*ModelCapabilitiesOverride, ) spec.ModelCapabilities
func ValidateModelCapabilitiesOverride ¶
func ValidateModelCapabilitiesOverride(o *ModelCapabilitiesOverride) error
Types ¶
type CacheCapabilitiesOverride ¶
type CacheCapabilitiesOverride struct {
SupportsAutomaticCaching *bool `json:"supportsAutomaticCaching,omitempty"`
TopLevel *CacheControlCapabilitiesOverride `json:"topLevel,omitempty"`
InputOutputContent *CacheControlCapabilitiesOverride `json:"inputOutputContent,omitempty"`
ReasoningContent *CacheControlCapabilitiesOverride `json:"reasoningContent,omitempty"`
ToolChoice *CacheControlCapabilitiesOverride `json:"toolChoice,omitempty"`
ToolCall *CacheControlCapabilitiesOverride `json:"toolCall,omitempty"`
ToolOutput *CacheControlCapabilitiesOverride `json:"toolOutput,omitempty"`
}
type CacheControlCapabilitiesOverride ¶
type CacheControlCapabilitiesOverride struct {
SupportsTTL *bool `json:"supportsTTL,omitempty"`
SupportedKinds []spec.CacheControlKind `json:"supportedKinds,omitempty"`
SupportedTTLs []spec.CacheControlTTL `json:"supportedTTLs,omitempty"`
SupportsKey *bool `json:"supportsKey,omitempty"`
}
func (CacheControlCapabilitiesOverride) MarshalJSON ¶
func (o CacheControlCapabilitiesOverride) MarshalJSON() ([]byte, error)
type CompletionKeyResolver ¶
type CompletionKeyResolver struct {
// contains filtered or unexported fields
}
func NewCompletionKeyResolver ¶
func NewCompletionKeyResolver( completionKey string, caps *spec.ModelCapabilities, ) CompletionKeyResolver
func (CompletionKeyResolver) Capabilities ¶
func (r CompletionKeyResolver) Capabilities() *spec.ModelCapabilities
func (CompletionKeyResolver) CompletionKey ¶
func (r CompletionKeyResolver) CompletionKey() string
func (CompletionKeyResolver) ResolveModelCapabilities ¶
func (r CompletionKeyResolver) ResolveModelCapabilities( ctx context.Context, req spec.ResolveModelCapabilitiesRequest, ) (*spec.ModelCapabilities, error)
type ModelCapabilitiesOverride ¶
type ModelCapabilitiesOverride struct {
ModalitiesIn []spec.Modality `json:"modalitiesIn,omitempty"`
ModalitiesOut []spec.Modality `json:"modalitiesOut,omitempty"`
ReasoningCapabilities *ReasoningCapabilitiesOverride `json:"reasoningCapabilities,omitempty"`
StopSequenceCapabilities *StopSequenceCapabilitiesOverride `json:"stopSequenceCapabilities,omitempty"`
OutputCapabilities *OutputCapabilitiesOverride `json:"outputCapabilities,omitempty"`
ToolCapabilities *ToolCapabilitiesOverride `json:"toolCapabilities,omitempty"`
CacheCapabilities *CacheCapabilitiesOverride `json:"cacheCapabilities,omitempty"`
ParamDialect *ParamDialectOverride `json:"paramDialect,omitempty"`
}
ModelCapabilitiesOverride is a patch-like version of inference-go's ModelCapabilities.
Semantics:
- nil slice means no override provided.
- empty slice means override to empty.
- pointer scalar nil means not provided.
- pointer scalar non-nil means override.
This struct is intended for storage and API transport as an override only. The effective/derived capabilities should be computed at runtime and should not be stored.
An override is not a complete capability object. It is a partial patch. Fields may be supplied independently and then layered with provider/base/model capabilities. Structural validation should validate: enum values, duplicates, non-negative numbers, local numeric consistency. It should not require that one partial override is internally complete.
func CloneModelCapabilitiesOverride ¶
func CloneModelCapabilitiesOverride(in *ModelCapabilitiesOverride) *ModelCapabilitiesOverride
func (ModelCapabilitiesOverride) MarshalJSON ¶
func (o ModelCapabilitiesOverride) MarshalJSON() ([]byte, error)
type OutputCapabilitiesOverride ¶
type OutputCapabilitiesOverride struct {
SupportedOutputFormats []spec.OutputFormatKind `json:"supportedOutputFormats,omitempty"`
SupportsVerbosity *bool `json:"supportsVerbosity,omitempty"`
}
func (OutputCapabilitiesOverride) MarshalJSON ¶
func (o OutputCapabilitiesOverride) MarshalJSON() ([]byte, error)
type ParamDialectOverride ¶
type ParamDialectOverride struct {
MaxOutputTokensParamName *spec.MaxOutputTokensParamName `json:"maxOutputTokensParamName,omitempty"`
ToolChoiceParamStyle *spec.ToolChoiceParamStyle `json:"toolChoiceParamStyle,omitempty"`
}
type ReasoningCapabilitiesOverride ¶
type ReasoningCapabilitiesOverride struct {
SupportsReasoningConfig *bool `json:"supportsReasoningConfig,omitempty"`
SupportedReasoningTypes []spec.ReasoningType `json:"supportedReasoningTypes,omitempty"`
SupportedReasoningLevels []spec.ReasoningLevel `json:"supportedReasoningLevels,omitempty"`
HybridTokenBudgetCapabilities *ReasoningTokenBudgetCapabilitiesOverride `json:"hybridTokenBudgetCapabilities,omitempty"`
SupportsSummaryStyle *bool `json:"supportsSummaryStyle,omitempty"`
SupportsEncryptedReasoningInput *bool `json:"supportsEncryptedReasoningInput,omitempty"`
TemperatureDisallowedWhenEnabled *bool `json:"temperatureDisallowedWhenEnabled,omitempty"`
}
func (ReasoningCapabilitiesOverride) MarshalJSON ¶
func (o ReasoningCapabilitiesOverride) MarshalJSON() ([]byte, error)
type ToolCapabilitiesOverride ¶
type ToolCapabilitiesOverride struct {
SupportedToolTypes []spec.ToolType `json:"supportedToolTypes,omitempty"`
SupportedToolPolicyModes []spec.ToolPolicyMode `json:"supportedToolPolicyModes,omitempty"`
SupportsParallelToolCalls *bool `json:"supportsParallelToolCalls,omitempty"`
MaxForcedTools *int `json:"maxForcedTools,omitempty"`
SupportedClientToolOutputFormats []spec.ToolOutputFormatKind `json:"supportedClientToolOutputFormats,omitempty"`
}
func (ToolCapabilitiesOverride) MarshalJSON ¶
func (o ToolCapabilitiesOverride) MarshalJSON() ([]byte, error)
Click to show internal directories.
Click to hide internal directories.