price_data.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. package types
  2. import "fmt"
  3. type GroupRatioInfo struct {
  4. GroupRatio float64
  5. GroupSpecialRatio float64
  6. HasSpecialRatio bool
  7. }
  8. type PriceData struct {
  9. ModelPrice float64
  10. ModelRatio float64
  11. CompletionRatio float64
  12. CacheRatio float64
  13. CacheCreationRatio float64
  14. ImageRatio float64
  15. AudioRatio float64
  16. AudioCompletionRatio float64
  17. OtherRatios map[string]float64
  18. UsePrice bool
  19. ShouldPreConsumedQuota int
  20. GroupRatioInfo GroupRatioInfo
  21. }
  22. type PerCallPriceData struct {
  23. ModelPrice float64
  24. Quota int
  25. GroupRatioInfo GroupRatioInfo
  26. }
  27. func (p PriceData) ToSetting() string {
  28. return fmt.Sprintf("ModelPrice: %f, ModelRatio: %f, CompletionRatio: %f, CacheRatio: %f, GroupRatio: %f, UsePrice: %t, CacheCreationRatio: %f, ShouldPreConsumedQuota: %d, ImageRatio: %f, AudioRatio: %f, AudioCompletionRatio: %f", p.ModelPrice, p.ModelRatio, p.CompletionRatio, p.CacheRatio, p.GroupRatioInfo.GroupRatio, p.UsePrice, p.CacheCreationRatio, p.ShouldPreConsumedQuota, p.ImageRatio, p.AudioRatio, p.AudioCompletionRatio)
  29. }