1
0

model.go 882 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package common
  2. import "strings"
  3. var (
  4. // OpenAIResponseOnlyModels is a list of models that are only available for OpenAI responses.
  5. OpenAIResponseOnlyModels = []string{
  6. "o3-pro",
  7. "o3-deep-research",
  8. "o4-mini-deep-research",
  9. }
  10. ImageGenerationModels = []string{
  11. "dall-e-3",
  12. "dall-e-2",
  13. "gpt-image-1",
  14. "prefix:imagen-",
  15. "flux-",
  16. "flux.1-",
  17. }
  18. )
  19. func IsOpenAIResponseOnlyModel(modelName string) bool {
  20. for _, m := range OpenAIResponseOnlyModels {
  21. if strings.Contains(modelName, m) {
  22. return true
  23. }
  24. }
  25. return false
  26. }
  27. func IsImageGenerationModel(modelName string) bool {
  28. modelName = strings.ToLower(modelName)
  29. for _, m := range ImageGenerationModels {
  30. if strings.Contains(modelName, m) {
  31. return true
  32. }
  33. if strings.HasPrefix(m, "prefix:") && strings.HasPrefix(modelName, strings.TrimPrefix(m, "prefix:")) {
  34. return true
  35. }
  36. }
  37. return false
  38. }