mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-06 21:35:52 +08:00
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:
parent
35aeee7662
commit
736953f03e
@ -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 = {
|
const generateContentConfig: GenerateContentConfig = {
|
||||||
responseModalities: isGenerateImageModel(model) ? [Modality.TEXT, Modality.IMAGE] : undefined,
|
responseModalities: canGenerateImage ? [Modality.TEXT, Modality.IMAGE] : undefined,
|
||||||
responseMimeType: isGenerateImageModel(model) ? 'text/plain' : undefined,
|
responseMimeType: canGenerateImage ? 'text/plain' : undefined,
|
||||||
safetySettings: this.getSafetySettings(model.id),
|
safetySettings: this.getSafetySettings(model.id),
|
||||||
// generate image don't need system instruction
|
// generate image don't need system instruction
|
||||||
systemInstruction: isGemmaModel(model) || isGenerateImageModel(model) ? undefined : systemInstruction,
|
systemInstruction: isGemmaModel(model) || canGenerateImage ? undefined : systemInstruction,
|
||||||
temperature: assistant?.settings?.temperature,
|
temperature: assistant?.settings?.temperature,
|
||||||
topP: assistant?.settings?.topP,
|
topP: assistant?.settings?.topP,
|
||||||
maxOutputTokens: maxTokens,
|
maxOutputTokens: maxTokens,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user