fix(GeminiProvider): enhance image generation logic and response configuration (#5447)

* feat(GeminiProvider): enhance image generation logic and response configuration

* refactor(GeminiProvider): improve image generation logic readability
This commit is contained in:
SuYao 2025-04-29 09:02:39 +08:00 committed by GitHub
parent 35aeee7662
commit 736953f03e

View File

@ -275,12 +275,21 @@ export default class GeminiProvider extends BaseProvider {
})
}
let canGenerateImage = false
if (isGenerateImageModel(model)) {
if (model.id === 'gemini-2.0-flash-exp') {
canGenerateImage = assistant.enableGenerateImage!
} else {
canGenerateImage = true
}
}
const generateContentConfig: GenerateContentConfig = {
responseModalities: isGenerateImageModel(model) ? [Modality.TEXT, Modality.IMAGE] : undefined,
responseMimeType: isGenerateImageModel(model) ? 'text/plain' : undefined,
responseModalities: canGenerateImage ? [Modality.TEXT, Modality.IMAGE] : undefined,
responseMimeType: canGenerateImage ? 'text/plain' : undefined,
safetySettings: this.getSafetySettings(model.id),
// generate image don't need system instruction
systemInstruction: isGemmaModel(model) || isGenerateImageModel(model) ? undefined : systemInstruction,
systemInstruction: isGemmaModel(model) || canGenerateImage ? undefined : systemInstruction,
temperature: assistant?.settings?.temperature,
topP: assistant?.settings?.topP,
maxOutputTokens: maxTokens,