Hotfix/gemini-para-bug (#6173)

* fix(OpenAIProvider): enhance model support and formatting logic

* fix(OpenAIProvider): Gemini OpenAI Compatible
This commit is contained in:
SuYao 2025-05-19 17:34:35 +08:00 committed by GitHub
parent 6036a94690
commit 00f1fb1e11
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 16 deletions

View File

@ -266,10 +266,7 @@ export default class OpenAIProvider extends BaseOpenAIProvider {
return { reasoning: { maxTokens: 0, exclude: true } } return { reasoning: { maxTokens: 0, exclude: true } }
} }
return { return {
thinkingConfig: { reasoning_effort: 'none'
includeThoughts: false,
thinkingBudget: 0
}
} }
} }
@ -315,7 +312,7 @@ export default class OpenAIProvider extends BaseOpenAIProvider {
} }
// OpenAI models // OpenAI models
if (isSupportedReasoningEffortOpenAIModel(model)) { if (isSupportedReasoningEffortOpenAIModel(model) || isSupportedThinkingTokenGeminiModel(model)) {
return { return {
reasoning_effort: assistant?.settings?.reasoning_effort reasoning_effort: assistant?.settings?.reasoning_effort
} }
@ -332,16 +329,6 @@ export default class OpenAIProvider extends BaseOpenAIProvider {
} }
} }
// Gemini models
if (isSupportedThinkingTokenGeminiModel(model)) {
return {
thinkingConfig: {
thinkingBudget: budgetTokens,
includeThoughts: true
}
}
}
// Default case: no special thinking settings // Default case: no special thinking settings
return {} return {}
} }
@ -395,6 +382,12 @@ export default class OpenAIProvider extends BaseOpenAIProvider {
content: `Formatting re-enabled${systemMessage ? '\n' + systemMessage.content : ''}` content: `Formatting re-enabled${systemMessage ? '\n' + systemMessage.content : ''}`
} }
} }
if (model.id.includes('o1-preview') || model.id.includes('o1-mini')) {
systemMessage = {
role: 'assistant',
content: `Formatting re-enabled${systemMessage ? '\n' + systemMessage.content : ''}`
}
}
const { tools } = this.setupToolsConfig<ChatCompletionTool>({ const { tools } = this.setupToolsConfig<ChatCompletionTool>({
mcpTools, mcpTools,
model, model,

View File

@ -290,6 +290,7 @@ export abstract class BaseOpenAIProvider extends BaseProvider {
} }
const defaultModel = getDefaultModel() const defaultModel = getDefaultModel()
const model = assistant.model || defaultModel const model = assistant.model || defaultModel
const { contextCount, maxTokens, streamOutput } = getAssistantSettings(assistant) const { contextCount, maxTokens, streamOutput } = getAssistantSettings(assistant)
const isEnabledBuiltinWebSearch = assistant.enableWebSearch const isEnabledBuiltinWebSearch = assistant.enableWebSearch
@ -1138,7 +1139,7 @@ export default class OpenAIResponseProvider extends BaseOpenAIProvider {
} }
private getProvider(model: Model): BaseOpenAIProvider { private getProvider(model: Model): BaseOpenAIProvider {
if (isOpenAIWebSearch(model)) { if (isOpenAIWebSearch(model) || model.id.includes('o1-preview') || model.id.includes('o1-mini')) {
return this.providers.get('openai-compatible')! return this.providers.get('openai-compatible')!
} else { } else {
return this return this