price_data.go 1.1 KB

123456789101112131415161718192021222324252627282930313233
  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. UsePrice bool
  18. ShouldPreConsumedQuota int
  19. GroupRatioInfo GroupRatioInfo
  20. }
  21. type PerCallPriceData struct {
  22. ModelPrice float64
  23. Quota int
  24. GroupRatioInfo GroupRatioInfo
  25. }
  26. func (p PriceData) ToSetting() string {
  27. 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)
  28. }