mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-04 11:49:02 +08:00
Merge branch 'feat/aisdk-package' of https://github.com/CherryHQ/cherry-studio into feat/aisdk-package
This commit is contained in:
commit
8317ad55e7
@ -22,12 +22,13 @@ export const webSearchPlugin = (config: WebSearchPluginConfig = DEFAULT_WEB_SEAR
|
|||||||
|
|
||||||
transformParams: async (params: any, context: AiRequestContext) => {
|
transformParams: async (params: any, context: AiRequestContext) => {
|
||||||
const { providerId } = context
|
const { providerId } = context
|
||||||
|
// console.log('providerId', providerId)
|
||||||
switch (providerId) {
|
switch (providerId) {
|
||||||
case 'openai': {
|
case 'openai': {
|
||||||
if (config.openai) {
|
if (config.openai) {
|
||||||
if (!params.tools) params.tools = {}
|
if (!params.tools) params.tools = {}
|
||||||
params.tools.web_search_preview = openai.tools.webSearchPreview(config.openai)
|
params.tools.web_search_preview = openai.tools.webSearchPreview(config.openai)
|
||||||
|
// console.log('params.tools', params.tools)
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -59,6 +60,14 @@ export const webSearchPlugin = (config: WebSearchPluginConfig = DEFAULT_WEB_SEAR
|
|||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
// default: {
|
||||||
|
// if (!params.providerOptions) params.providerOptions = {}
|
||||||
|
// params.providerOptions['aihubmix'] = {
|
||||||
|
// web_search: anthropic.tools.webSearch_20250305()
|
||||||
|
// }
|
||||||
|
// console.log('params.providerOptions', params.providerOptions)
|
||||||
|
// break
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
return params
|
return params
|
||||||
|
|||||||
@ -20,6 +20,7 @@ import {
|
|||||||
import { createPromptToolUsePlugin, webSearchPlugin } from '@cherrystudio/ai-core/core/plugins/built-in'
|
import { createPromptToolUsePlugin, webSearchPlugin } from '@cherrystudio/ai-core/core/plugins/built-in'
|
||||||
import { isDedicatedImageGenerationModel } from '@renderer/config/models'
|
import { isDedicatedImageGenerationModel } from '@renderer/config/models'
|
||||||
import { createVertexProvider, isVertexAIConfigured, isVertexProvider } from '@renderer/hooks/useVertexAI'
|
import { createVertexProvider, isVertexAIConfigured, isVertexProvider } from '@renderer/hooks/useVertexAI'
|
||||||
|
import { getProviderByModel } from '@renderer/services/AssistantService'
|
||||||
import type { GenerateImageParams, Model, Provider } from '@renderer/types'
|
import type { GenerateImageParams, Model, Provider } from '@renderer/types'
|
||||||
import { formatApiHost } from '@renderer/utils/api'
|
import { formatApiHost } from '@renderer/utils/api'
|
||||||
import { cloneDeep } from 'lodash'
|
import { cloneDeep } from 'lodash'
|
||||||
@ -29,9 +30,8 @@ import LegacyAiProvider from './index'
|
|||||||
import { AiSdkMiddlewareConfig, buildAiSdkMiddlewares } from './middleware/aisdk/AiSdkMiddlewareBuilder'
|
import { AiSdkMiddlewareConfig, buildAiSdkMiddlewares } from './middleware/aisdk/AiSdkMiddlewareBuilder'
|
||||||
import { CompletionsResult } from './middleware/schemas'
|
import { CompletionsResult } from './middleware/schemas'
|
||||||
import reasoningTimePlugin from './plugins/reasoningTimePlugin'
|
import reasoningTimePlugin from './plugins/reasoningTimePlugin'
|
||||||
import { getAiSdkProviderId } from './provider/factory'
|
|
||||||
import { getProviderByModel } from '@renderer/services/AssistantService'
|
|
||||||
import { createAihubmixProvider } from './provider/aihubmix'
|
import { createAihubmixProvider } from './provider/aihubmix'
|
||||||
|
import { getAiSdkProviderId } from './provider/factory'
|
||||||
|
|
||||||
function getActualProvider(model: Model): Provider {
|
function getActualProvider(model: Model): Provider {
|
||||||
const provider = getProviderByModel(model)
|
const provider = getProviderByModel(model)
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
import { getDefaultModel, getProviderByModel } from '@renderer/services/AssistantService'
|
|
||||||
import { Assistant, Model, Provider } from '@renderer/types'
|
import { Assistant, Model, Provider } from '@renderer/types'
|
||||||
|
|
||||||
import { getAiSdkProviderId } from '../provider/factory'
|
import { getAiSdkProviderId } from '../provider/factory'
|
||||||
|
|||||||
@ -26,13 +26,7 @@ import { isEmpty, takeRight } from 'lodash'
|
|||||||
|
|
||||||
import AiProvider from '../aiCore'
|
import AiProvider from '../aiCore'
|
||||||
import AiProviderNew from '../aiCore/index_new'
|
import AiProviderNew from '../aiCore/index_new'
|
||||||
import {
|
import { getDefaultModel, getProviderByModel, getTopNamingModel, getTranslateModel } from './AssistantService'
|
||||||
getAssistantProvider,
|
|
||||||
getDefaultModel,
|
|
||||||
getProviderByModel,
|
|
||||||
getTopNamingModel,
|
|
||||||
getTranslateModel
|
|
||||||
} from './AssistantService'
|
|
||||||
import { getDefaultAssistant } from './AssistantService'
|
import { getDefaultAssistant } from './AssistantService'
|
||||||
|
|
||||||
// // TODO:考虑拆开
|
// // TODO:考虑拆开
|
||||||
@ -323,6 +317,7 @@ export async function fetchChatCompletion({
|
|||||||
provider: provider,
|
provider: provider,
|
||||||
enableReasoning: capabilities.enableReasoning,
|
enableReasoning: capabilities.enableReasoning,
|
||||||
enableTool: assistant.settings?.toolUseMode === 'prompt',
|
enableTool: assistant.settings?.toolUseMode === 'prompt',
|
||||||
|
enableWebSearch: capabilities.enableWebSearch,
|
||||||
mcpTools
|
mcpTools
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user