mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-08 14:29:15 +08:00
feat: Enhance web search parameter handling for assistants #575
This commit is contained in:
parent
62bcb0582e
commit
d4ddcbfc5b
@ -123,7 +123,7 @@ import WenxinModelLogoDark from '@renderer/assets/images/models/wenxin_dark.png'
|
|||||||
import YiModelLogo from '@renderer/assets/images/models/yi.png'
|
import YiModelLogo from '@renderer/assets/images/models/yi.png'
|
||||||
import YiModelLogoDark from '@renderer/assets/images/models/yi_dark.png'
|
import YiModelLogoDark from '@renderer/assets/images/models/yi_dark.png'
|
||||||
import { getProviderByModel } from '@renderer/services/AssistantService'
|
import { getProviderByModel } from '@renderer/services/AssistantService'
|
||||||
import { Model } from '@renderer/types'
|
import { Assistant, Model } from '@renderer/types'
|
||||||
import OpenAI from 'openai'
|
import OpenAI from 'openai'
|
||||||
|
|
||||||
import { getWebSearchTools } from './tools'
|
import { getWebSearchTools } from './tools'
|
||||||
@ -1182,16 +1182,22 @@ export function isWebSearchModel(model: Model): boolean {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getOpenAIWebSearchParams(model: Model): Record<string, any> {
|
export function getOpenAIWebSearchParams(assistant: Assistant, model: Model): Record<string, any> {
|
||||||
if (isWebSearchModel(model)) {
|
if (isWebSearchModel(model)) {
|
||||||
const webSearchTools = getWebSearchTools(model)
|
if (assistant.enableWebSearch) {
|
||||||
|
const webSearchTools = getWebSearchTools(model)
|
||||||
|
|
||||||
if (model.provider === 'hunyuan') {
|
if (model.provider === 'hunyuan') {
|
||||||
return { enable_enhancement: true }
|
return { enable_enhancement: true }
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
tools: webSearchTools
|
tools: webSearchTools
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (model.provider === 'hunyuan') {
|
||||||
|
return { enable_enhancement: false }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -193,7 +193,7 @@ export default class OpenAIProvider extends BaseProvider {
|
|||||||
keep_alive: this.keepAliveTime,
|
keep_alive: this.keepAliveTime,
|
||||||
stream: isSupportStreamOutput(),
|
stream: isSupportStreamOutput(),
|
||||||
reasoning_effort: this.getReasoningEffort(assistant, model),
|
reasoning_effort: this.getReasoningEffort(assistant, model),
|
||||||
...(assistant.enableWebSearch ? getOpenAIWebSearchParams(model) : {}),
|
...getOpenAIWebSearchParams(assistant, model),
|
||||||
...this.getProviderSpecificParameters(model),
|
...this.getProviderSpecificParameters(model),
|
||||||
...this.getCustomParameters(assistant)
|
...this.getCustomParameters(assistant)
|
||||||
})
|
})
|
||||||
|
|||||||
@ -120,7 +120,7 @@ class QwenLMProvider extends OpenAIProvider {
|
|||||||
top_p: assistant?.settings?.topP,
|
top_p: assistant?.settings?.topP,
|
||||||
max_tokens: maxTokens,
|
max_tokens: maxTokens,
|
||||||
stream: true,
|
stream: true,
|
||||||
...(assistant.enableWebSearch ? getOpenAIWebSearchParams(model) : {}),
|
...getOpenAIWebSearchParams(assistant, model),
|
||||||
...this.getCustomParameters(assistant)
|
...this.getCustomParameters(assistant)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user