feat: added openai model configuration and search parameter logic

This commit is contained in:
kangfenmao 2025-01-13 16:42:53 +08:00
parent 2ad6a1f24c
commit a0a13a4015
2 changed files with 23 additions and 3 deletions

View File

@ -603,6 +603,12 @@ export const SYSTEM_MODELS: Record<string, Model[]> = {
name: 'GLM-4-Flash', name: 'GLM-4-Flash',
group: 'GLM-4' group: 'GLM-4'
}, },
{
id: 'glm-4-flashx',
provider: 'zhipu',
name: 'GLM-4-FlashX',
group: 'GLM-4'
},
{ {
id: 'glm-4v', id: 'glm-4v',
provider: 'zhipu', provider: 'zhipu',
@ -1050,6 +1056,12 @@ export function isWebSearchModel(model: Model): boolean {
const provider = getProviderByModel(model) const provider = getProviderByModel(model)
if (provider.type === 'openai') {
if (model?.id?.includes('gemini-2.0-flash-exp')) {
return true
}
}
if (!provider) { if (!provider) {
return false return false
} }
@ -1073,7 +1085,7 @@ export function isWebSearchModel(model: Model): boolean {
return false return false
} }
export function getWebSearchParams(model: Model): Record<string, any> { export function getOpenAIWebSearchParams(model: Model): Record<string, any> {
if (isWebSearchModel(model)) { if (isWebSearchModel(model)) {
if (model.provider === 'hunyuan') { if (model.provider === 'hunyuan') {
return { enable_enhancement: true } return { enable_enhancement: true }
@ -1087,6 +1099,14 @@ export function getWebSearchParams(model: Model): Record<string, any> {
tools: webSearchTools tools: webSearchTools
} }
} }
return {
type: 'function',
function: {
name: 'googleSearch'
} }
}
}
return {} return {}
} }

View File

@ -1,4 +1,4 @@
import { getWebSearchParams, isSupportedModel, isVisionModel } from '@renderer/config/models' import { getOpenAIWebSearchParams, isSupportedModel, isVisionModel } from '@renderer/config/models'
import { getStoreSetting } from '@renderer/hooks/useSettings' import { getStoreSetting } from '@renderer/hooks/useSettings'
import i18n from '@renderer/i18n' import i18n from '@renderer/i18n'
import { getAssistantSettings, getDefaultModel, getTopNamingModel } from '@renderer/services/AssistantService' import { getAssistantSettings, getDefaultModel, getTopNamingModel } from '@renderer/services/AssistantService'
@ -155,7 +155,7 @@ export default class OpenAIProvider extends BaseProvider {
max_tokens: maxTokens, max_tokens: maxTokens,
keep_alive: this.keepAliveTime, keep_alive: this.keepAliveTime,
stream: isSupportStreamOutput(), stream: isSupportStreamOutput(),
...(assistant.enableWebSearch ? getWebSearchParams(model) : {}), ...(assistant.enableWebSearch ? getOpenAIWebSearchParams(model) : {}),
...this.getCustomParameters(assistant) ...this.getCustomParameters(assistant)
}) })