feat(gemini): update audio input pricing and adjust model handling logic
This commit is contained in:
@@ -103,7 +103,6 @@ func CovertGemini2OpenAI(textRequest dto.GeneralOpenAIRequest, info *relaycommon
|
|||||||
isNew25Pro := strings.HasPrefix(modelName, "gemini-2.5-pro") &&
|
isNew25Pro := strings.HasPrefix(modelName, "gemini-2.5-pro") &&
|
||||||
!strings.HasPrefix(modelName, "gemini-2.5-pro-preview-05-06") &&
|
!strings.HasPrefix(modelName, "gemini-2.5-pro-preview-05-06") &&
|
||||||
!strings.HasPrefix(modelName, "gemini-2.5-pro-preview-03-25")
|
!strings.HasPrefix(modelName, "gemini-2.5-pro-preview-03-25")
|
||||||
is25FlashLite := strings.HasPrefix(modelName, "gemini-2.5-flash-lite")
|
|
||||||
|
|
||||||
if strings.Contains(modelName, "-thinking-") {
|
if strings.Contains(modelName, "-thinking-") {
|
||||||
parts := strings.SplitN(modelName, "-thinking-", 2)
|
parts := strings.SplitN(modelName, "-thinking-", 2)
|
||||||
@@ -142,7 +141,7 @@ func CovertGemini2OpenAI(textRequest dto.GeneralOpenAIRequest, info *relaycommon
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if strings.HasSuffix(modelName, "-nothinking") {
|
} else if strings.HasSuffix(modelName, "-nothinking") {
|
||||||
if !isNew25Pro && !is25FlashLite {
|
if !isNew25Pro {
|
||||||
geminiRequest.GenerationConfig.ThinkingConfig = &GeminiThinkingConfig{
|
geminiRequest.GenerationConfig.ThinkingConfig = &GeminiThinkingConfig{
|
||||||
ThinkingBudget: common.GetPointer(0),
|
ThinkingBudget: common.GetPointer(0),
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ const (
|
|||||||
const (
|
const (
|
||||||
// Gemini Audio Input Price
|
// Gemini Audio Input Price
|
||||||
Gemini25FlashPreviewInputAudioPrice = 1.00
|
Gemini25FlashPreviewInputAudioPrice = 1.00
|
||||||
|
Gemini25FlashProductionInputAudioPrice = 1.00 // for `gemini-2.5-flash`
|
||||||
Gemini25FlashNativeAudioInputAudioPrice = 3.00
|
Gemini25FlashNativeAudioInputAudioPrice = 3.00
|
||||||
Gemini20FlashInputAudioPrice = 0.70
|
Gemini20FlashInputAudioPrice = 0.70
|
||||||
)
|
)
|
||||||
@@ -64,10 +65,12 @@ func GetFileSearchPricePerThousand() float64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetGeminiInputAudioPricePerMillionTokens(modelName string) float64 {
|
func GetGeminiInputAudioPricePerMillionTokens(modelName string) float64 {
|
||||||
if strings.HasPrefix(modelName, "gemini-2.5-flash-preview") {
|
if strings.HasPrefix(modelName, "gemini-2.5-flash-preview-native-audio") {
|
||||||
return Gemini25FlashPreviewInputAudioPrice
|
|
||||||
} else if strings.HasPrefix(modelName, "gemini-2.5-flash-preview-native-audio") {
|
|
||||||
return Gemini25FlashNativeAudioInputAudioPrice
|
return Gemini25FlashNativeAudioInputAudioPrice
|
||||||
|
} else if strings.HasPrefix(modelName, "gemini-2.5-flash-preview") {
|
||||||
|
return Gemini25FlashPreviewInputAudioPrice
|
||||||
|
} else if strings.HasPrefix(modelName, "gemini-2.5-flash") {
|
||||||
|
return Gemini25FlashProductionInputAudioPrice
|
||||||
} else if strings.HasPrefix(modelName, "gemini-2.0-flash") {
|
} else if strings.HasPrefix(modelName, "gemini-2.0-flash") {
|
||||||
return Gemini20FlashInputAudioPrice
|
return Gemini20FlashInputAudioPrice
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user