Documentation
¶
Overview ¶
Package cost provides cost tracking, optimisation, and display for the hawk engine. See ../REFACTOR_PLAN.md.
Index ¶
- func FormatCostDisplay(totalUSD float64) string
- func LoadCostHistory() ([]analytics.CostEntry, error)
- func ModelPricing(modelName string) (inputPricePerM, outputPricePerM float64)
- type Cost
- type CostOptimizer
- func (co *CostOptimizer) Analyze() []Recommendation
- func (co *CostOptimizer) CostByModel() map[string]float64
- func (co *CostOptimizer) CostByTaskType() map[string]float64
- func (co *CostOptimizer) DailyCost() float64
- func (co *CostOptimizer) FormatReport() string
- func (co *CostOptimizer) ProjectSavings(recommendations []Recommendation) float64
- func (co *CostOptimizer) Record(cost RequestCost)
- func (co *CostOptimizer) WeeklyCost() float64
- func (co *CostOptimizer) WhatIf(model string) float64
- type CostTracker
- type ModelPrice
- type Recommendation
- type RequestCost
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FormatCostDisplay ¶
func LoadCostHistory ¶
func ModelPricing ¶
Types ¶
type Cost ¶
type Cost struct {
Model string
PromptTokens int
CompletionTokens int
CacheReadTokens int
CacheWriteTokens int
TotalCostUSD float64
// contains filtered or unexported fields
}
func (*Cost) AddCacheTokens ¶
type CostOptimizer ¶
type CostOptimizer struct {
History []RequestCost
Recommendations []Recommendation
ModelPricing map[string]ModelPrice
// contains filtered or unexported fields
}
func NewCostOptimizer ¶
func NewCostOptimizer() *CostOptimizer
func (*CostOptimizer) Analyze ¶
func (co *CostOptimizer) Analyze() []Recommendation
func (*CostOptimizer) CostByModel ¶
func (co *CostOptimizer) CostByModel() map[string]float64
func (*CostOptimizer) CostByTaskType ¶
func (co *CostOptimizer) CostByTaskType() map[string]float64
func (*CostOptimizer) DailyCost ¶
func (co *CostOptimizer) DailyCost() float64
func (*CostOptimizer) FormatReport ¶
func (co *CostOptimizer) FormatReport() string
func (*CostOptimizer) ProjectSavings ¶
func (co *CostOptimizer) ProjectSavings(recommendations []Recommendation) float64
func (*CostOptimizer) Record ¶
func (co *CostOptimizer) Record(cost RequestCost)
func (*CostOptimizer) WeeklyCost ¶
func (co *CostOptimizer) WeeklyCost() float64
func (*CostOptimizer) WhatIf ¶
func (co *CostOptimizer) WhatIf(model string) float64
type CostTracker ¶
type CostTracker struct {
// contains filtered or unexported fields
}
func NewCostTracker ¶
func NewCostTracker(sessionID string) *CostTracker
func (*CostTracker) Entries ¶
func (ct *CostTracker) Entries() []analytics.CostEntry
func (*CostTracker) SessionTotal ¶
func (ct *CostTracker) SessionTotal() float64
type ModelPrice ¶
type Recommendation ¶
Click to show internal directories.
Click to hide internal directories.