mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-28 13:31:32 +08:00
feat(翻译): 添加对Qwen MT模型翻译选项的特殊处理
添加对Qwen MT模型的支持,当助手类型为翻译时设置翻译选项。若目标语言不支持则抛出错误
This commit is contained in:
parent
9bde8b3cae
commit
aaa51c435e
@ -1,16 +1,19 @@
|
|||||||
import { baseProviderIdSchema, customProviderIdSchema } from '@cherrystudio/ai-core/provider'
|
import { baseProviderIdSchema, customProviderIdSchema } from '@cherrystudio/ai-core/provider'
|
||||||
import { isOpenAIModel, isSupportFlexServiceTierModel } from '@renderer/config/models'
|
import { isOpenAIModel, isQwenMTModel, isSupportFlexServiceTierModel } from '@renderer/config/models'
|
||||||
import { isSupportServiceTierProvider } from '@renderer/config/providers'
|
import { isSupportServiceTierProvider } from '@renderer/config/providers'
|
||||||
|
import { mapLanguageToQwenMTModel } from '@renderer/config/translate'
|
||||||
import {
|
import {
|
||||||
Assistant,
|
Assistant,
|
||||||
GroqServiceTiers,
|
GroqServiceTiers,
|
||||||
isGroqServiceTier,
|
isGroqServiceTier,
|
||||||
isOpenAIServiceTier,
|
isOpenAIServiceTier,
|
||||||
|
isTranslateAssistant,
|
||||||
Model,
|
Model,
|
||||||
OpenAIServiceTiers,
|
OpenAIServiceTiers,
|
||||||
Provider,
|
Provider,
|
||||||
SystemProviderIds
|
SystemProviderIds
|
||||||
} from '@renderer/types'
|
} from '@renderer/types'
|
||||||
|
import { t } from 'i18next'
|
||||||
|
|
||||||
import { getAiSdkProviderId } from '../provider/factory'
|
import { getAiSdkProviderId } from '../provider/factory'
|
||||||
import { buildGeminiGenerateImageParams } from './image'
|
import { buildGeminiGenerateImageParams } from './image'
|
||||||
@ -280,5 +283,22 @@ function buildGenericProviderOptions(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 特殊处理 Qwen MT
|
||||||
|
if (isQwenMTModel(model)) {
|
||||||
|
if (isTranslateAssistant(assistant)) {
|
||||||
|
const targetLanguage = assistant.targetLanguage
|
||||||
|
const translationOptions = {
|
||||||
|
source_lang: 'auto',
|
||||||
|
target_lang: mapLanguageToQwenMTModel(targetLanguage)
|
||||||
|
} as const
|
||||||
|
if (!translationOptions.target_lang) {
|
||||||
|
throw new Error(t('translate.error.not_supported', { language: targetLanguage.value }))
|
||||||
|
}
|
||||||
|
providerOptions.translation_options = translationOptions
|
||||||
|
} else {
|
||||||
|
throw new Error(t('translate.error.chat_qwen_mt'))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return providerOptions
|
return providerOptions
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user