fix(OpenAIProvider): Filter empty system prompts (#4896)

This commit is contained in:
Asurada 2025-04-16 02:15:06 +08:00 committed by GitHub
parent 2d130a8526
commit 444abc9b88
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,7 +1,6 @@
import { DEFAULT_MAX_TOKENS } from '@renderer/config/constant' import { DEFAULT_MAX_TOKENS } from '@renderer/config/constant'
import { import {
getOpenAIWebSearchParams, getOpenAIWebSearchParams,
isGrokModel,
isGrokReasoningModel, isGrokReasoningModel,
isHunyuanSearchModel, isHunyuanSearchModel,
isOpenAIoSeries, isOpenAIoSeries,
@ -378,9 +377,9 @@ export default class OpenAIProvider extends BaseProvider {
const { signal } = abortController const { signal } = abortController
await this.checkIsCopilot() await this.checkIsCopilot()
// Grok 模型要求每条消息都不能为空,所以是 Grok 模型且 systemMessage 内容为空时不发送 systemMessage //当 systemMessage 内容为空时不发送 systemMessage
let reqMessages: ChatCompletionMessageParam[] let reqMessages: ChatCompletionMessageParam[]
if (isGrokModel(model) && !systemMessage.content) { if (!systemMessage.content) {
reqMessages = [...userMessages] reqMessages = [...userMessages]
} else { } else {
reqMessages = [systemMessage, ...userMessages].filter(Boolean) as ChatCompletionMessageParam[] reqMessages = [systemMessage, ...userMessages].filter(Boolean) as ChatCompletionMessageParam[]