mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-11 08:19:01 +08:00
fix(openai): Gemma system message (#9561)
* fix(openai): 修复不支持系统消息的模型处理逻辑 当模型不支持系统消息时,将其转换为用户消息,确保请求消息的正确构建 * fix(openai): 处理不支持系统消息的模型时合并用户消息 当模型不支持系统消息时,将系统消息内容合并到第一条用户消息中 添加空用户消息的警告日志
This commit is contained in:
parent
961984df24
commit
5e31c809e1
@ -561,6 +561,9 @@ export class OpenAIAPIClient extends OpenAIBaseClient<
|
|||||||
userMessages.push(await this.convertMessageToSdkParam(message, model))
|
userMessages.push(await this.convertMessageToSdkParam(message, model))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (userMessages.length === 0) {
|
||||||
|
logger.warn('No user message. Some providers may not support.')
|
||||||
|
}
|
||||||
|
|
||||||
// poe 需要通过用户消息传递 reasoningEffort
|
// poe 需要通过用户消息传递 reasoningEffort
|
||||||
const reasoningEffort = this.getReasoningEffort(assistant, model)
|
const reasoningEffort = this.getReasoningEffort(assistant, model)
|
||||||
@ -588,8 +591,17 @@ export class OpenAIAPIClient extends OpenAIBaseClient<
|
|||||||
|
|
||||||
// 4. 最终请求消息
|
// 4. 最终请求消息
|
||||||
let reqMessages: OpenAISdkMessageParam[]
|
let reqMessages: OpenAISdkMessageParam[]
|
||||||
if (!systemMessage.content || isNotSupportSystemMessageModel(model)) {
|
if (!systemMessage.content) {
|
||||||
reqMessages = [...userMessages]
|
reqMessages = [...userMessages]
|
||||||
|
} else if (isNotSupportSystemMessageModel(model)) {
|
||||||
|
// transform into user message
|
||||||
|
const firstUserMsg = userMessages.shift()
|
||||||
|
if (firstUserMsg) {
|
||||||
|
firstUserMsg.content = `System Instruction: \n${systemMessage.content}\n\nUser Message(s):\n${firstUserMsg.content}`
|
||||||
|
reqMessages = [firstUserMsg, ...userMessages]
|
||||||
|
} else {
|
||||||
|
reqMessages = []
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
reqMessages = [systemMessage, ...userMessages].filter(Boolean) as OpenAISdkMessageParam[]
|
reqMessages = [systemMessage, ...userMessages].filter(Boolean) as OpenAISdkMessageParam[]
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user