feat: 模型服务添加天翼云模型 (#2238)

* feat: 模型服务添加天翼云模型

* feat:add website

* fix: id is duplicate

---------

Co-authored-by: 李保成 <libaocheng@cndatacom.com>
This commit is contained in:
lbc123456 2025-02-28 17:40:57 +08:00 committed by GitHub
parent f489b034b5
commit f3f32cc591
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 74 additions and 5 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -126,6 +126,8 @@ import WenxinModelLogo from '@renderer/assets/images/models/wenxin.png'
import WenxinModelLogoDark from '@renderer/assets/images/models/wenxin_dark.png'
import YiModelLogo from '@renderer/assets/images/models/yi.png'
import YiModelLogoDark from '@renderer/assets/images/models/yi_dark.png'
import XirangModelLogo from '@renderer/assets/images/models/xirang.png'
import XirangModelLogoDark from '@renderer/assets/images/models/xirang_dark.png'
import { getProviderByModel } from '@renderer/services/AssistantService'
import { Assistant, Model } from '@renderer/types'
import OpenAI from 'openai'
@ -276,6 +278,7 @@ export function getModelLogo(modelId: string) {
rakutenai: isLight ? RakutenaiModelLogo : RakutenaiModelLogoDark,
ibm: isLight ? IbmModelLogo : IbmModelLogoDark,
'google/': isLight ? GoogleModelLogo : GoogleModelLogoDark,
xirang: isLight ? XirangModelLogo : XirangModelLogoDark,
hugging: isLight ? HuggingfaceModelLogo : HuggingfaceModelLogoDark,
embedding: isLight ? EmbeddingModelLogo : EmbeddingModelLogoDark,
perplexity: isLight ? PerplexityModelLogo : PerplexityModelLogoDark,
@ -1714,6 +1717,20 @@ export const SYSTEM_MODELS: Record<string, Model[]> = {
name: 'jina-embeddings-v2-base-code',
group: 'Jina'
}
],
xirang: [
{
id: 'xirang-1',
name: 'DeepSeek-R1',
provider: 'xirang',
group: 'xirang'
},
{
id: 'xirang-2',
name: 'DeepSeek-V3',
provider: 'xirang',
group: 'xirang'
}
]
}

View File

@ -37,6 +37,7 @@ import TogetherProviderLogo from '@renderer/assets/images/providers/together.png
import BytedanceProviderLogo from '@renderer/assets/images/providers/volcengine.png'
import ZeroOneProviderLogo from '@renderer/assets/images/providers/zero-one.png'
import ZhipuProviderLogo from '@renderer/assets/images/providers/zhipu.png'
import XirangProviderLogo from '@renderer/assets/images/providers/xirang.png'
export function getProviderLogo(providerId: string) {
switch (providerId) {
case 'openai':
@ -67,6 +68,8 @@ export function getProviderLogo(providerId: string) {
return BailianProviderLogo
case 'modelscope':
return ModelScopeProviderLogo
case 'xirang':
return XirangProviderLogo
case 'anthropic':
return AnthropicProviderLogo
case 'aihubmix':
@ -323,6 +326,17 @@ export const PROVIDER_CONFIG = {
models: 'https://modelscope.cn/models'
}
},
xirang: {
api: {
url: 'https://wishub-x1.ctyun.cn/v1/'
},
websites: {
official: 'https://www.ctyun.cn',
apiKey: 'https://www.ctyun.cn/act/xirang/deepseek',
docs: 'https://www.ctyun.cn/document',
models: 'https://www.ctyun.cn/act/xirang/deepseek'
}
},
dashscope: {
api: {
url: 'https://dashscope.aliyuncs.com/compatible-mode/v1/'

View File

@ -559,7 +559,8 @@
"together": "Together",
"yi": "Yi",
"zhinao": "360AI",
"zhipu": "ZHIPU AI"
"zhipu": "ZHIPU AI",
"xirang": "TyyCloud Xirang"
},
"settings": {
"about": "About & Feedback",

View File

@ -559,7 +559,8 @@
"together": "Together",
"yi": "零一万物",
"zhinao": "360智脳",
"zhipu": "智譜AI"
"zhipu": "智譜AI",
"xirang": "天翼クラウド 息壤"
},
"settings": {
"about": "について",

View File

@ -559,7 +559,8 @@
"together": "Together",
"yi": "Yi",
"zhinao": "360AI",
"zhipu": "ZHIPU AI"
"zhipu": "ZHIPU AI",
"xirang": "TyyCloud Xirang"
},
"settings": {
"about": "О программе и обратная связь",

View File

@ -559,7 +559,8 @@
"together": "Together",
"yi": "零一万物",
"zhinao": "360智脑",
"zhipu": "智谱AI"
"zhipu": "智谱AI",
"xirang": "天翼云 息壤"
},
"settings": {
"about": "关于我们",

View File

@ -559,7 +559,8 @@
"together": "Together",
"yi": "零一萬物",
"zhinao": "360智腦",
"zhipu": "智譜AI"
"zhipu": "智譜AI",
"xirang": "天翼雲 息壤"
},
"settings": {
"about": "關於與回饋",

View File

@ -406,6 +406,16 @@ const initialState: LlmState = {
models: SYSTEM_MODELS.modelscope,
isSystem: true,
enabled: false
},
{
id: 'xirang',
name: 'Xirang',
type: 'openai',
apiKey: '',
apiHost: 'https://wishub-x1.ctyun.cn',
models: SYSTEM_MODELS.xirang,
isSystem: true,
enabled: false
}
],
settings: {

View File

@ -1122,6 +1122,29 @@ const migrateConfig = {
return state
},
'73': (state: RootState) => {
const tempProviders = state.llm.providers
const xirangProvider = tempProviders.find((provider) => provider.id === 'xirang')
if (!xirangProvider) {
tempProviders.unshift({
id: 'xirang',
name: 'Xirang',
type: 'openai',
apiKey: '',
apiHost: 'https://wishub-x1.ctyun.cn',
models: SYSTEM_MODELS.xirang,
isSystem: true,
enabled: false
})
}
return {
...state,
llm: {
...state.llm,
providers: tempProviders
}
}
},
'74': (state: RootState) => {
if (state.websearch) {
state.websearch.searchWithTime = true
state.websearch.maxResults = 5