Documentation
¶
Index ¶
- type CacheWriteWindow
- type PricingMode
- type PricingSourceKind
- type ProviderModelPricingConfig
- func CustomFlatPricingConfig(inputPerToken float64, outputPerToken float64) ProviderModelPricingConfig
- func NormalizeProviderModelPricingConfig(config ProviderModelPricingConfig) (ProviderModelPricingConfig, error)
- func ParseRawProviderModelPricingConfig(raw map[string]any, fallbackInputPerToken float64, ...) (ProviderModelPricingConfig, error)
- func (c ProviderModelPricingConfig) CacheWriteRate(window CacheWriteWindow, promptTokens int64) float64
- func (c ProviderModelPricingConfig) Clone() ProviderModelPricingConfig
- func (c ProviderModelPricingConfig) HasAnyPricing() bool
- func (c ProviderModelPricingConfig) IsZero() bool
- func (c ProviderModelPricingConfig) SelectRates(promptTokens int64) ProviderModelPricingRates
- func (c ProviderModelPricingConfig) SummaryInputPerToken() float64
- func (c ProviderModelPricingConfig) SummaryOutputPerToken() float64
- func (c ProviderModelPricingConfig) ToMap() map[string]any
- type ProviderModelPricingRates
- type ProviderModelPricingTier
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CacheWriteWindow ¶
type CacheWriteWindow string
const ( CacheWriteWindowFiveMinutes CacheWriteWindow = "5m" CacheWriteWindowOneHour CacheWriteWindow = "1h" )
func (CacheWriteWindow) IsValid ¶
func (w CacheWriteWindow) IsValid() bool
type PricingMode ¶
type PricingMode string
const ( PricingModeFlat PricingMode = "flat" PricingModeTiered PricingMode = "tiered" PricingModeRouted PricingMode = "routed" )
func (PricingMode) IsValid ¶
func (m PricingMode) IsValid() bool
type PricingSourceKind ¶
type PricingSourceKind string
const ( PricingSourceKindCustom PricingSourceKind = "custom" PricingSourceKindOfficial PricingSourceKind = "official" )
func (PricingSourceKind) IsValid ¶
func (k PricingSourceKind) IsValid() bool
type ProviderModelPricingConfig ¶
type ProviderModelPricingConfig struct {
Version string `json:"version,omitempty"`
SourceKind PricingSourceKind `json:"source_kind,omitempty"`
PricingMode PricingMode `json:"pricing_mode,omitempty"`
Provider string `json:"provider,omitempty"`
ModelID string `json:"model_id,omitempty"`
SourceURL string `json:"source_url,omitempty"`
SourceVerifiedAt string `json:"source_verified_at,omitempty"`
DefaultCacheWriteWindow CacheWriteWindow `json:"default_cache_write_window,omitempty"`
Notes []string `json:"notes,omitempty"`
Rates ProviderModelPricingRates `json:"rates,omitempty"`
Tiers []ProviderModelPricingTier `json:"tiers,omitempty"`
}
func CustomFlatPricingConfig ¶
func CustomFlatPricingConfig(inputPerToken float64, outputPerToken float64) ProviderModelPricingConfig
func NormalizeProviderModelPricingConfig ¶
func NormalizeProviderModelPricingConfig( config ProviderModelPricingConfig, ) (ProviderModelPricingConfig, error)
func (ProviderModelPricingConfig) CacheWriteRate ¶
func (c ProviderModelPricingConfig) CacheWriteRate(window CacheWriteWindow, promptTokens int64) float64
func (ProviderModelPricingConfig) Clone ¶
func (c ProviderModelPricingConfig) Clone() ProviderModelPricingConfig
func (ProviderModelPricingConfig) HasAnyPricing ¶
func (c ProviderModelPricingConfig) HasAnyPricing() bool
func (ProviderModelPricingConfig) IsZero ¶
func (c ProviderModelPricingConfig) IsZero() bool
func (ProviderModelPricingConfig) SelectRates ¶
func (c ProviderModelPricingConfig) SelectRates(promptTokens int64) ProviderModelPricingRates
func (ProviderModelPricingConfig) SummaryInputPerToken ¶
func (c ProviderModelPricingConfig) SummaryInputPerToken() float64
func (ProviderModelPricingConfig) SummaryOutputPerToken ¶
func (c ProviderModelPricingConfig) SummaryOutputPerToken() float64
func (ProviderModelPricingConfig) ToMap ¶
func (c ProviderModelPricingConfig) ToMap() map[string]any
type ProviderModelPricingRates ¶
type ProviderModelPricingRates struct {
InputPerToken float64 `json:"input_per_token,omitempty"`
OutputPerToken float64 `json:"output_per_token,omitempty"`
CachedInputReadPerToken float64 `json:"cached_input_read_per_token,omitempty"`
CacheWriteFiveMinutesPerToken float64 `json:"cache_write_5m_per_token,omitempty"`
CacheWriteOneHourPerToken float64 `json:"cache_write_1h_per_token,omitempty"`
CacheStoragePerTokenHour float64 `json:"cache_storage_per_token_hour,omitempty"`
}
type ProviderModelPricingTier ¶
type ProviderModelPricingTier struct {
Label string `json:"label,omitempty"`
MaxPromptTokens int64 `json:"max_prompt_tokens,omitempty"`
Rates ProviderModelPricingRates `json:"rates"`
}
Click to show internal directories.
Click to hide internal directories.