feat: added openai model configuration and search parameter logic
This commit is contained in:
parent
2ad6a1f24c
commit
a0a13a4015
@ -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 {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user