refactor(gemini): remove GeminiVisionMaxImageNum constant and related image count logic
This commit is contained in:
@@ -137,7 +137,6 @@ func initConstantEnv() {
|
|||||||
constant.GetMediaTokenNotStream = GetEnvOrDefaultBool("GET_MEDIA_TOKEN_NOT_STREAM", false)
|
constant.GetMediaTokenNotStream = GetEnvOrDefaultBool("GET_MEDIA_TOKEN_NOT_STREAM", false)
|
||||||
constant.UpdateTask = GetEnvOrDefaultBool("UPDATE_TASK", true)
|
constant.UpdateTask = GetEnvOrDefaultBool("UPDATE_TASK", true)
|
||||||
constant.AzureDefaultAPIVersion = GetEnvOrDefaultString("AZURE_DEFAULT_API_VERSION", "2025-04-01-preview")
|
constant.AzureDefaultAPIVersion = GetEnvOrDefaultString("AZURE_DEFAULT_API_VERSION", "2025-04-01-preview")
|
||||||
constant.GeminiVisionMaxImageNum = GetEnvOrDefault("GEMINI_VISION_MAX_IMAGE_NUM", 16)
|
|
||||||
constant.NotifyLimitCount = GetEnvOrDefault("NOTIFY_LIMIT_COUNT", 2)
|
constant.NotifyLimitCount = GetEnvOrDefault("NOTIFY_LIMIT_COUNT", 2)
|
||||||
constant.NotificationLimitDurationMinute = GetEnvOrDefault("NOTIFICATION_LIMIT_DURATION_MINUTE", 10)
|
constant.NotificationLimitDurationMinute = GetEnvOrDefault("NOTIFICATION_LIMIT_DURATION_MINUTE", 10)
|
||||||
// GenerateDefaultToken 是否生成初始令牌,默认关闭。
|
// GenerateDefaultToken 是否生成初始令牌,默认关闭。
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ var GetMediaTokenNotStream bool
|
|||||||
var UpdateTask bool
|
var UpdateTask bool
|
||||||
var MaxRequestBodyMB int
|
var MaxRequestBodyMB int
|
||||||
var AzureDefaultAPIVersion string
|
var AzureDefaultAPIVersion string
|
||||||
var GeminiVisionMaxImageNum int
|
|
||||||
var NotifyLimitCount int
|
var NotifyLimitCount int
|
||||||
var NotificationLimitDurationMinute int
|
var NotificationLimitDurationMinute int
|
||||||
var GenerateDefaultToken bool
|
var GenerateDefaultToken bool
|
||||||
|
|||||||
@@ -466,7 +466,6 @@ func CovertOpenAI2Gemini(c *gin.Context, textRequest dto.GeneralOpenAIRequest, i
|
|||||||
}
|
}
|
||||||
|
|
||||||
openaiContent := message.ParseContent()
|
openaiContent := message.ParseContent()
|
||||||
imageNum := 0
|
|
||||||
for _, part := range openaiContent {
|
for _, part := range openaiContent {
|
||||||
if part.Type == dto.ContentTypeText {
|
if part.Type == dto.ContentTypeText {
|
||||||
if part.Text == "" {
|
if part.Text == "" {
|
||||||
@@ -507,10 +506,6 @@ func CovertOpenAI2Gemini(c *gin.Context, textRequest dto.GeneralOpenAIRequest, i
|
|||||||
}
|
}
|
||||||
// 提取 data URL (从 "](" 后面开始,到 ")" 之前)
|
// 提取 data URL (从 "](" 后面开始,到 ")" 之前)
|
||||||
dataUrl := text[bracketIdx+2 : closeIdx]
|
dataUrl := text[bracketIdx+2 : closeIdx]
|
||||||
imageNum += 1
|
|
||||||
if constant.GeminiVisionMaxImageNum != -1 && imageNum > constant.GeminiVisionMaxImageNum {
|
|
||||||
return nil, fmt.Errorf("too many images in the message, max allowed is %d", constant.GeminiVisionMaxImageNum)
|
|
||||||
}
|
|
||||||
format, base64String, err := service.DecodeBase64FileData(dataUrl)
|
format, base64String, err := service.DecodeBase64FileData(dataUrl)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("decode markdown base64 image data failed: %s", err.Error())
|
return nil, fmt.Errorf("decode markdown base64 image data failed: %s", err.Error())
|
||||||
@@ -535,11 +530,6 @@ func CovertOpenAI2Gemini(c *gin.Context, textRequest dto.GeneralOpenAIRequest, i
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
} else if part.Type == dto.ContentTypeImageURL {
|
} else if part.Type == dto.ContentTypeImageURL {
|
||||||
imageNum += 1
|
|
||||||
|
|
||||||
if constant.GeminiVisionMaxImageNum != -1 && imageNum > constant.GeminiVisionMaxImageNum {
|
|
||||||
return nil, fmt.Errorf("too many images in the message, max allowed is %d", constant.GeminiVisionMaxImageNum)
|
|
||||||
}
|
|
||||||
// 使用统一的文件服务获取图片数据
|
// 使用统一的文件服务获取图片数据
|
||||||
var source *types.FileSource
|
var source *types.FileSource
|
||||||
imageUrl := part.GetImageMedia().Url
|
imageUrl := part.GetImageMedia().Url
|
||||||
|
|||||||
Reference in New Issue
Block a user