mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-26 20:12:38 +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))
|
||||
}
|
||||
}
|
||||
if (userMessages.length === 0) {
|
||||
logger.warn('No user message. Some providers may not support.')
|
||||
}
|
||||
|
||||
// poe 需要通过用户消息传递 reasoningEffort
|
||||
const reasoningEffort = this.getReasoningEffort(assistant, model)
|
||||
@ -588,8 +591,17 @@ export class OpenAIAPIClient extends OpenAIBaseClient<
|
||||
|
||||
// 4. 最终请求消息
|
||||
let reqMessages: OpenAISdkMessageParam[]
|
||||
if (!systemMessage.content || isNotSupportSystemMessageModel(model)) {
|
||||
if (!systemMessage.content) {
|
||||
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 {
|
||||
reqMessages = [systemMessage, ...userMessages].filter(Boolean) as OpenAISdkMessageParam[]
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user