fix: enhance provider selection logic in AssistantService

- Updated getProviderByModel function to improve provider selection.
- Added fallback logic to return a default or cherryin provider if the specified model provider is not found.
- Ensured that the first provider is returned as a last resort, enhancing robustness in provider retrieval.
This commit is contained in:
kangfenmao 2025-09-03 11:43:42 +08:00
parent 362658339a
commit 76ac1bd8f7

View File

@ -134,8 +134,15 @@ export function getAssistantProvider(assistant: Assistant): Provider {
export function getProviderByModel(model?: Model): Provider {
const providers = store.getState().llm.providers
const providerId = model ? model.provider : getDefaultProvider().id
return providers.find((p) => p.id === providerId) as Provider
const provider = providers.find((p) => p.id === model?.provider)
if (!provider) {
const defaultProvider = providers.find((p) => p.id === getDefaultModel()?.provider)
const cherryinProvider = providers.find((p) => p.id === 'cherryin')
return defaultProvider || cherryinProvider || providers[0]
}
return provider
}
export function getProviderByModelId(modelId?: string) {