mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-25 03:10:08 +08:00
Hotfix/gemini-para-bug (#6173)
* fix(OpenAIProvider): enhance model support and formatting logic * fix(OpenAIProvider): Gemini OpenAI Compatible
This commit is contained in:
parent
3dc0a583ec
commit
783bdc40a6
@ -266,10 +266,7 @@ export default class OpenAIProvider extends BaseOpenAIProvider {
|
||||
return { reasoning: { maxTokens: 0, exclude: true } }
|
||||
}
|
||||
return {
|
||||
thinkingConfig: {
|
||||
includeThoughts: false,
|
||||
thinkingBudget: 0
|
||||
}
|
||||
reasoning_effort: 'none'
|
||||
}
|
||||
}
|
||||
|
||||
@ -315,7 +312,7 @@ export default class OpenAIProvider extends BaseOpenAIProvider {
|
||||
}
|
||||
|
||||
// OpenAI models
|
||||
if (isSupportedReasoningEffortOpenAIModel(model)) {
|
||||
if (isSupportedReasoningEffortOpenAIModel(model) || isSupportedThinkingTokenGeminiModel(model)) {
|
||||
return {
|
||||
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
|
||||
return {}
|
||||
}
|
||||
@ -395,6 +382,12 @@ export default class OpenAIProvider extends BaseOpenAIProvider {
|
||||
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>({
|
||||
mcpTools,
|
||||
model,
|
||||
|
||||
@ -290,6 +290,7 @@ export abstract class BaseOpenAIProvider extends BaseProvider {
|
||||
}
|
||||
const defaultModel = getDefaultModel()
|
||||
const model = assistant.model || defaultModel
|
||||
|
||||
const { contextCount, maxTokens, streamOutput } = getAssistantSettings(assistant)
|
||||
const isEnabledBuiltinWebSearch = assistant.enableWebSearch
|
||||
|
||||
@ -1138,7 +1139,7 @@ export default class OpenAIResponseProvider extends 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')!
|
||||
} else {
|
||||
return this
|
||||
|
||||
Loading…
Reference in New Issue
Block a user