| package common |
|
|
| import "strings" |
|
|
| var ( |
| |
| OpenAIResponseOnlyModels = []string{ |
| "o3-pro", |
| "o3-deep-research", |
| "o4-mini-deep-research", |
| } |
| ImageGenerationModels = []string{ |
| "dall-e-3", |
| "dall-e-2", |
| "gpt-image-1", |
| "prefix:imagen-", |
| "flux-", |
| "flux.1-", |
| } |
| OpenAITextModels = []string{ |
| "gpt-", |
| "o1", |
| "o3", |
| "o4", |
| "chatgpt", |
| } |
| ) |
|
|
| func IsOpenAIResponseOnlyModel(modelName string) bool { |
| for _, m := range OpenAIResponseOnlyModels { |
| if strings.Contains(modelName, m) { |
| return true |
| } |
| } |
| return false |
| } |
|
|
| func IsImageGenerationModel(modelName string) bool { |
| modelName = strings.ToLower(modelName) |
| for _, m := range ImageGenerationModels { |
| if strings.Contains(modelName, m) { |
| return true |
| } |
| if strings.HasPrefix(m, "prefix:") && strings.HasPrefix(modelName, strings.TrimPrefix(m, "prefix:")) { |
| return true |
| } |
| } |
| return false |
| } |
|
|
| func IsOpenAITextModel(modelName string) bool { |
| modelName = strings.ToLower(modelName) |
| for _, m := range OpenAITextModels { |
| if strings.Contains(modelName, m) { |
| return true |
| } |
| } |
| return false |
| } |
|
|