feat: 模型服务添加天翼云模型 (#2238)
* feat: 模型服务添加天翼云模型 * feat:add website * fix: id is duplicate --------- Co-authored-by: 李保成 <libaocheng@cndatacom.com>
This commit is contained in:
parent
f489b034b5
commit
f3f32cc591
BIN
src/renderer/src/assets/images/models/xirang.png
Normal file
BIN
src/renderer/src/assets/images/models/xirang.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
BIN
src/renderer/src/assets/images/models/xirang_dark.png
Normal file
BIN
src/renderer/src/assets/images/models/xirang_dark.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
BIN
src/renderer/src/assets/images/providers/xirang.png
Normal file
BIN
src/renderer/src/assets/images/providers/xirang.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
@ -126,6 +126,8 @@ import WenxinModelLogo from '@renderer/assets/images/models/wenxin.png'
|
|||||||
import WenxinModelLogoDark from '@renderer/assets/images/models/wenxin_dark.png'
|
import WenxinModelLogoDark from '@renderer/assets/images/models/wenxin_dark.png'
|
||||||
import YiModelLogo from '@renderer/assets/images/models/yi.png'
|
import YiModelLogo from '@renderer/assets/images/models/yi.png'
|
||||||
import YiModelLogoDark from '@renderer/assets/images/models/yi_dark.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 { getProviderByModel } from '@renderer/services/AssistantService'
|
||||||
import { Assistant, Model } from '@renderer/types'
|
import { Assistant, Model } from '@renderer/types'
|
||||||
import OpenAI from 'openai'
|
import OpenAI from 'openai'
|
||||||
@ -276,6 +278,7 @@ export function getModelLogo(modelId: string) {
|
|||||||
rakutenai: isLight ? RakutenaiModelLogo : RakutenaiModelLogoDark,
|
rakutenai: isLight ? RakutenaiModelLogo : RakutenaiModelLogoDark,
|
||||||
ibm: isLight ? IbmModelLogo : IbmModelLogoDark,
|
ibm: isLight ? IbmModelLogo : IbmModelLogoDark,
|
||||||
'google/': isLight ? GoogleModelLogo : GoogleModelLogoDark,
|
'google/': isLight ? GoogleModelLogo : GoogleModelLogoDark,
|
||||||
|
xirang: isLight ? XirangModelLogo : XirangModelLogoDark,
|
||||||
hugging: isLight ? HuggingfaceModelLogo : HuggingfaceModelLogoDark,
|
hugging: isLight ? HuggingfaceModelLogo : HuggingfaceModelLogoDark,
|
||||||
embedding: isLight ? EmbeddingModelLogo : EmbeddingModelLogoDark,
|
embedding: isLight ? EmbeddingModelLogo : EmbeddingModelLogoDark,
|
||||||
perplexity: isLight ? PerplexityModelLogo : PerplexityModelLogoDark,
|
perplexity: isLight ? PerplexityModelLogo : PerplexityModelLogoDark,
|
||||||
@ -1714,6 +1717,20 @@ export const SYSTEM_MODELS: Record<string, Model[]> = {
|
|||||||
name: 'jina-embeddings-v2-base-code',
|
name: 'jina-embeddings-v2-base-code',
|
||||||
group: 'Jina'
|
group: 'Jina'
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
xirang: [
|
||||||
|
{
|
||||||
|
id: 'xirang-1',
|
||||||
|
name: 'DeepSeek-R1',
|
||||||
|
provider: 'xirang',
|
||||||
|
group: 'xirang'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'xirang-2',
|
||||||
|
name: 'DeepSeek-V3',
|
||||||
|
provider: 'xirang',
|
||||||
|
group: 'xirang'
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -37,6 +37,7 @@ import TogetherProviderLogo from '@renderer/assets/images/providers/together.png
|
|||||||
import BytedanceProviderLogo from '@renderer/assets/images/providers/volcengine.png'
|
import BytedanceProviderLogo from '@renderer/assets/images/providers/volcengine.png'
|
||||||
import ZeroOneProviderLogo from '@renderer/assets/images/providers/zero-one.png'
|
import ZeroOneProviderLogo from '@renderer/assets/images/providers/zero-one.png'
|
||||||
import ZhipuProviderLogo from '@renderer/assets/images/providers/zhipu.png'
|
import ZhipuProviderLogo from '@renderer/assets/images/providers/zhipu.png'
|
||||||
|
import XirangProviderLogo from '@renderer/assets/images/providers/xirang.png'
|
||||||
export function getProviderLogo(providerId: string) {
|
export function getProviderLogo(providerId: string) {
|
||||||
switch (providerId) {
|
switch (providerId) {
|
||||||
case 'openai':
|
case 'openai':
|
||||||
@ -67,6 +68,8 @@ export function getProviderLogo(providerId: string) {
|
|||||||
return BailianProviderLogo
|
return BailianProviderLogo
|
||||||
case 'modelscope':
|
case 'modelscope':
|
||||||
return ModelScopeProviderLogo
|
return ModelScopeProviderLogo
|
||||||
|
case 'xirang':
|
||||||
|
return XirangProviderLogo
|
||||||
case 'anthropic':
|
case 'anthropic':
|
||||||
return AnthropicProviderLogo
|
return AnthropicProviderLogo
|
||||||
case 'aihubmix':
|
case 'aihubmix':
|
||||||
@ -323,6 +326,17 @@ export const PROVIDER_CONFIG = {
|
|||||||
models: 'https://modelscope.cn/models'
|
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: {
|
dashscope: {
|
||||||
api: {
|
api: {
|
||||||
url: 'https://dashscope.aliyuncs.com/compatible-mode/v1/'
|
url: 'https://dashscope.aliyuncs.com/compatible-mode/v1/'
|
||||||
|
|||||||
@ -559,7 +559,8 @@
|
|||||||
"together": "Together",
|
"together": "Together",
|
||||||
"yi": "Yi",
|
"yi": "Yi",
|
||||||
"zhinao": "360AI",
|
"zhinao": "360AI",
|
||||||
"zhipu": "ZHIPU AI"
|
"zhipu": "ZHIPU AI",
|
||||||
|
"xirang": "TyyCloud Xirang"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"about": "About & Feedback",
|
"about": "About & Feedback",
|
||||||
|
|||||||
@ -559,7 +559,8 @@
|
|||||||
"together": "Together",
|
"together": "Together",
|
||||||
"yi": "零一万物",
|
"yi": "零一万物",
|
||||||
"zhinao": "360智脳",
|
"zhinao": "360智脳",
|
||||||
"zhipu": "智譜AI"
|
"zhipu": "智譜AI",
|
||||||
|
"xirang": "天翼クラウド 息壤"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"about": "について",
|
"about": "について",
|
||||||
|
|||||||
@ -559,7 +559,8 @@
|
|||||||
"together": "Together",
|
"together": "Together",
|
||||||
"yi": "Yi",
|
"yi": "Yi",
|
||||||
"zhinao": "360AI",
|
"zhinao": "360AI",
|
||||||
"zhipu": "ZHIPU AI"
|
"zhipu": "ZHIPU AI",
|
||||||
|
"xirang": "TyyCloud Xirang"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"about": "О программе и обратная связь",
|
"about": "О программе и обратная связь",
|
||||||
|
|||||||
@ -559,7 +559,8 @@
|
|||||||
"together": "Together",
|
"together": "Together",
|
||||||
"yi": "零一万物",
|
"yi": "零一万物",
|
||||||
"zhinao": "360智脑",
|
"zhinao": "360智脑",
|
||||||
"zhipu": "智谱AI"
|
"zhipu": "智谱AI",
|
||||||
|
"xirang": "天翼云 息壤"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"about": "关于我们",
|
"about": "关于我们",
|
||||||
|
|||||||
@ -559,7 +559,8 @@
|
|||||||
"together": "Together",
|
"together": "Together",
|
||||||
"yi": "零一萬物",
|
"yi": "零一萬物",
|
||||||
"zhinao": "360智腦",
|
"zhinao": "360智腦",
|
||||||
"zhipu": "智譜AI"
|
"zhipu": "智譜AI",
|
||||||
|
"xirang": "天翼雲 息壤"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"about": "關於與回饋",
|
"about": "關於與回饋",
|
||||||
|
|||||||
@ -406,6 +406,16 @@ const initialState: LlmState = {
|
|||||||
models: SYSTEM_MODELS.modelscope,
|
models: SYSTEM_MODELS.modelscope,
|
||||||
isSystem: true,
|
isSystem: true,
|
||||||
enabled: false
|
enabled: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'xirang',
|
||||||
|
name: 'Xirang',
|
||||||
|
type: 'openai',
|
||||||
|
apiKey: '',
|
||||||
|
apiHost: 'https://wishub-x1.ctyun.cn',
|
||||||
|
models: SYSTEM_MODELS.xirang,
|
||||||
|
isSystem: true,
|
||||||
|
enabled: false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
settings: {
|
settings: {
|
||||||
|
|||||||
@ -1122,6 +1122,29 @@ const migrateConfig = {
|
|||||||
return state
|
return state
|
||||||
},
|
},
|
||||||
'73': (state: RootState) => {
|
'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) {
|
if (state.websearch) {
|
||||||
state.websearch.searchWithTime = true
|
state.websearch.searchWithTime = true
|
||||||
state.websearch.maxResults = 5
|
state.websearch.maxResults = 5
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user