mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-03 19:30:04 +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
6036a94690
commit
00f1fb1e11
@ -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,
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user