| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package common
- import "strings"
- var (
- // OpenAIResponseOnlyModels is a list of models that are only available for OpenAI responses.
- 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
- }
|