feat: 百度云千帆模型内置联网搜索支持

为Cherry Studio添加百度云千帆模型的联网搜索功能,基于模型内置的web_search参数。

## 主要修改

1. **websearch.ts**: 在getWebSearchParams函数中添加百度云支持
   - 支持ERNIE系列模型(不含search_mode参数)
   - 支持ernie-x1-turbo-32k(仅enable参数)
   - 支持DeepSeek、Qwen3等模型(完整参数)
   - 包含enable_trace、enable_status、enable_citation等配置

2. **websearch.ts (models)**: 在isWebSearchModel函数中添加百度云模型识别
   - 排除BGE嵌入模型
   - 其他百度云模型均支持web search

## 使用方式

用户在助手设置中为百度云模型启用联网搜索选项即可。

## 相关Issue

cherry-studio/issues/11958
This commit is contained in:
GeorgeDong32 2025-12-17 22:51:15 +08:00
parent 739096deca
commit 6e637287a7
2 changed files with 51 additions and 0 deletions

View File

@ -25,6 +25,47 @@ export function getWebSearchParams(model: Model): Record<string, any> {
}
}
if (model.provider === 'baidu-cloud') {
// 根据模型ID判断支持的搜索参数
const modelId = model.id.toLowerCase()
// ernie-x1-turbo-32k 只支持 enable 参数
if (modelId.includes('ernie-x1-turbo')) {
return {
web_search: {
enable: true
}
}
}
// ERNIE系列不支持 search_mode 参数(强制搜索)
if (modelId.includes('ernie')) {
return {
web_search: {
enable: true,
enable_trace: true,
enable_status: true,
enable_citation: true,
search_number: 10,
reference_number: 5
}
}
}
// 其他模型支持完整参数
return {
web_search: {
enable: true,
enable_trace: true,
enable_status: true,
enable_citation: true,
search_mode: 'auto',
search_number: 10,
reference_number: 5
}
}
}
if (isOpenAIWebSearchChatCompletionOnlyModel(model)) {
return {
web_search_options: {}

View File

@ -120,6 +120,16 @@ export function isWebSearchModel(model: Model): boolean {
return true
}
if (provider.id === 'baidu-cloud') {
// 排除嵌入模型
const embeddingModels = ['bge-large-zh', 'bge-large-en']
if (embeddingModels.includes(modelId)) {
return false
}
// 其他模型都支持web search
return true
}
return false
}