price_data.go 958 B

12345678910111213141516171819202122232425262728293031
  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. UsePrice bool
  16. ShouldPreConsumedQuota int
  17. GroupRatioInfo GroupRatioInfo
  18. }
  19. type PerCallPriceData struct {
  20. ModelPrice float64
  21. Quota int
  22. GroupRatioInfo GroupRatioInfo
  23. }
  24. func (p PriceData) ToSetting() string {
  25. return fmt.Sprintf("ModelPrice: %f, ModelRatio: %f, CompletionRatio: %f, CacheRatio: %f, GroupRatio: %f, UsePrice: %t, CacheCreationRatio: %f, ShouldPreConsumedQuota: %d, ImageRatio: %f", p.ModelPrice, p.ModelRatio, p.CompletionRatio, p.CacheRatio, p.GroupRatioInfo.GroupRatio, p.UsePrice, p.CacheCreationRatio, p.ShouldPreConsumedQuota, p.ImageRatio)
  26. }