Fix handling of text parts in convertGooglePrompt function

Fixes #3855
This commit is contained in:
Cohee
2025-04-17 21:23:58 +03:00
parent dfd78077ec
commit 8f63edfd30

View File

@@ -508,7 +508,12 @@ export function convertGooglePrompt(messages, model, useSysPrompt, names) {
if (index > 0 && message.role === contents[contents.length - 1].role) { if (index > 0 && message.role === contents[contents.length - 1].role) {
parts.forEach((part) => { parts.forEach((part) => {
if (part.text) { if (part.text) {
contents[contents.length - 1].parts[0].text += '\n\n' + part.text; const textPart = contents[contents.length - 1].parts.find(p => typeof p.text === 'string');
if (textPart) {
textPart.text += '\n\n' + part.text;
} else {
contents[contents.length - 1].parts.push(part);
}
} }
if (part.inlineData || part.functionCall || part.functionResponse) { if (part.inlineData || part.functionCall || part.functionResponse) {
contents[contents.length - 1].parts.push(part); contents[contents.length - 1].parts.push(part);