diff --git a/src/renderer/src/assets/images/models/internvl.png b/src/renderer/src/assets/images/models/internvl.png new file mode 100644 index 0000000000..6ec4feb571 Binary files /dev/null and b/src/renderer/src/assets/images/models/internvl.png differ diff --git a/src/renderer/src/assets/images/providers/gitee-ai.png b/src/renderer/src/assets/images/providers/gitee-ai.png new file mode 100644 index 0000000000..a1ef5fdade Binary files /dev/null and b/src/renderer/src/assets/images/providers/gitee-ai.png differ diff --git a/src/renderer/src/config/models.ts b/src/renderer/src/config/models.ts index 5a0191b7a2..006d7c6d81 100644 --- a/src/renderer/src/config/models.ts +++ b/src/renderer/src/config/models.ts @@ -66,6 +66,7 @@ import IbmModelLogo from '@renderer/assets/images/models/ibm.png' import IbmModelLogoDark from '@renderer/assets/images/models/ibm_dark.png' import InternlmModelLogo from '@renderer/assets/images/models/internlm.png' import InternlmModelLogoDark from '@renderer/assets/images/models/internlm_dark.png' +import InternvlModelLogo from '@renderer/assets/images/models/internvl.png' import JinaModelLogo from '@renderer/assets/images/models/jina.png' import JinaModelLogoDark from '@renderer/assets/images/models/jina_dark.png' import KeLingModelLogo from '@renderer/assets/images/models/keling.png' @@ -187,6 +188,7 @@ export function getModelLogo(modelId: string) { glm: isLight ? ChatGLMModelLogo : ChatGLMModelLogoDark, deepseek: isLight ? DeepSeekModelLogo : DeepSeekModelLogoDark, qwen: isLight ? QwenModelLogo : QwenModelLogoDark, + qwq: isLight ? QwenModelLogo : QwenModelLogoDark, gemma: isLight ? GemmaModelLogo : GemmaModelLogoDark, 'yi-': isLight ? YiModelLogo : YiModelLogoDark, llama: isLight ? LlamaModelLogo : LlamaModelLogoDark, @@ -221,6 +223,7 @@ export function getModelLogo(modelId: string) { grok: isLight ? GrokModelLogo : GrokModelLogoDark, hunyuan: isLight ? HunyuanModelLogo : HunyuanModelLogoDark, internlm: isLight ? InternlmModelLogo : InternlmModelLogoDark, + internvl: InternvlModelLogo, llava: isLight ? LLavaModelLogo : LLavaModelLogoDark, magic: isLight ? MagicModelLogo : MagicModelLogoDark, midjourney: isLight ? MidjourneyModelLogo : MidjourneyModelLogoDark, @@ -405,6 +408,152 @@ export const SYSTEM_MODELS: Record = { group: 'Claude 3' } ], + 'gitee-ai': [ + { + id: 'DeepSeek-R1-Distill-Qwen-32B', + name: 'DeepSeek-R1-Distill-Qwen-32B', + provider: 'gitee-ai', + group: 'DeepSeek' + }, + { + id: 'DeepSeek-R1-Distill-Qwen-1.5B', + name: 'DeepSeek-R1-Distill-Qwen-1.5B', + provider: 'gitee-ai', + group: 'DeepSeek' + }, + { + id: 'DeepSeek-R1-Distill-Qwen-14B', + name: 'DeepSeek-R1-Distill-Qwen-14B', + provider: 'gitee-ai', + group: 'DeepSeek' + }, + { + id: 'DeepSeek-R1-Distill-Qwen-7B', + name: 'DeepSeek-R1-Distill-Qwen-7B', + provider: 'gitee-ai', + group: 'DeepSeek' + }, + { + id: 'DeepSeek-V3', + name: 'DeepSeek-V3', + provider: 'gitee-ai', + group: 'DeepSeek' + }, + { + id: 'DeepSeek-R1', + name: 'DeepSeek-R1', + provider: 'gitee-ai', + group: 'DeepSeek' + }, + { + id: 'deepseek-coder-33B-instruct', + name: 'deepseek-coder-33B-instruct', + provider: 'gitee-ai', + group: 'DeepSeek' + }, + { + id: 'Qwen2.5-72B-Instruct', + name: 'Qwen2.5-72B-Instruct', + provider: 'gitee-ai', + group: 'Qwen' + }, + { + id: 'Qwen2.5-14B-Instruct', + name: 'Qwen2.5-14B-Instruct', + provider: 'gitee-ai', + group: 'Qwen' + }, + { + id: 'Qwen2-7B-Instruct', + name: 'Qwen2-7B-Instruct', + provider: 'gitee-ai', + group: 'Qwen' + }, + { + id: 'Qwen2.5-32B-Instruct', + name: 'Qwen2.5-32B-Instruct', + provider: 'gitee-ai', + group: 'Qwen' + }, + { + id: 'Qwen2-72B-Instruct', + name: 'Qwen2-72B-Instruct', + provider: 'gitee-ai', + group: 'Qwen' + }, + { + id: 'Qwen2-VL-72B', + name: 'Qwen2-VL-72B', + provider: 'gitee-ai', + group: 'Qwen' + }, + { + id: 'QwQ-32B-Preview', + name: 'QwQ-32B-Preview', + provider: 'gitee-ai', + group: 'Qwen' + }, + { + id: 'Yi-34B-Chat', + name: 'Yi-34B-Chat', + provider: 'gitee-ai', + group: '01-ai' + }, + { + id: 'glm-4-9b-chat', + name: 'glm-4-9b-chat', + provider: 'gitee-ai', + group: 'THUDM' + }, + { + id: 'codegeex4-all-9b', + name: 'codegeex4-all-9b', + provider: 'gitee-ai', + group: 'THUDM' + }, + { + id: 'InternVL2-8B', + name: 'InternVL2-8B', + provider: 'gitee-ai', + group: 'OpenGVLab' + }, + { + id: 'InternVL2.5-26B', + name: 'InternVL2.5-26B', + provider: 'gitee-ai', + group: 'OpenGVLab' + }, + { + id: 'InternVL2.5-78B', + name: 'InternVL2.5-78B', + provider: 'gitee-ai', + group: 'OpenGVLab' + }, + { + id: 'bge-large-zh-v1.5', + name: 'bge-large-zh-v1.5', + provider: 'gitee-ai', + group: 'BAAI' + }, + { + id: 'bge-small-zh-v1.5', + name: 'bge-small-zh-v1.5', + provider: 'gitee-ai', + group: 'BAAI' + }, + { + id: 'bge-m3', + name: 'bge-m3', + provider: 'gitee-ai', + group: 'BAAI' + }, + { + id: 'bce-embedding-base_v1', + name: 'bce-embedding-base_v1', + provider: 'gitee-ai', + group: 'netease-youdao' + } + ], deepseek: [ { id: 'deepseek-chat', diff --git a/src/renderer/src/config/providers.ts b/src/renderer/src/config/providers.ts index 574bc043fb..69c07d5be0 100644 --- a/src/renderer/src/config/providers.ts +++ b/src/renderer/src/config/providers.ts @@ -13,6 +13,7 @@ import GithubProviderLogo from '@renderer/assets/images/providers/github.png' import GoogleProviderLogo from '@renderer/assets/images/providers/google.png' import GraphRagProviderLogo from '@renderer/assets/images/providers/graph-rag.png' import GrokProviderLogo from '@renderer/assets/images/providers/grok.png' +import GiteeAIProviderLogo from '@renderer/assets/images/providers/gitee-ai.png' import GroqProviderLogo from '@renderer/assets/images/providers/groq.png' import HyperbolicProviderLogo from '@renderer/assets/images/providers/hyperbolic.png' import JinaProviderLogo from '@renderer/assets/images/providers/jina.png' @@ -38,6 +39,8 @@ export function getProviderLogo(providerId: string) { return SiliconFlowProviderLogo case 'deepseek': return DeepSeekProviderLogo + case 'gitee-ai': + return GiteeAIProviderLogo case 'yi': return ZeroOneProviderLogo case 'groq': @@ -133,6 +136,17 @@ export const PROVIDER_CONFIG = { models: 'https://docs.siliconflow.cn/docs/model-names' } }, + 'gitee-ai': { + api: { + url: 'https://ai.gitee.com' + }, + websites: { + official: 'https://ai.gitee.com/', + apiKey: 'https://ai.gitee.com/dashboard/settings/tokens', + docs: 'https://ai.gitee.com/docs/openapi/v1#tag/%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90/POST/chat/completions', + models: 'https://ai.gitee.com/serverless-api' + } + }, deepseek: { api: { url: 'https://api.deepseek.com' diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index 97d3be10ce..d27364cbaa 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -346,6 +346,7 @@ "baidu-cloud": "Baidu Cloud", "baichuan": "Baichuan", "dashscope": "Alibaba Cloud", + "gitee-ai": "Gitee AI", "deepseek": "DeepSeek", "doubao": "Doubao", "fireworks": "Fireworks", diff --git a/src/renderer/src/i18n/locales/ja-jp.json b/src/renderer/src/i18n/locales/ja-jp.json index 9dc709a309..afeed9be3f 100644 --- a/src/renderer/src/i18n/locales/ja-jp.json +++ b/src/renderer/src/i18n/locales/ja-jp.json @@ -340,6 +340,7 @@ "baidu-cloud": "Baidu Cloud", "baichuan": "百川", "dashscope": "Alibaba Cloud", + "gitee-ai": "Gitee AI", "deepseek": "DeepSeek", "doubao": "豆包", "fireworks": "Fireworks", diff --git a/src/renderer/src/i18n/locales/ru-ru.json b/src/renderer/src/i18n/locales/ru-ru.json index ae8550d9c6..0016ab3ddf 100644 --- a/src/renderer/src/i18n/locales/ru-ru.json +++ b/src/renderer/src/i18n/locales/ru-ru.json @@ -341,6 +341,7 @@ "baidu-cloud": "Baidu Cloud", "baichuan": "Baichuan", "dashscope": "Alibaba Cloud", + "gitee-ai": "Gitee AI", "deepseek": "DeepSeek", "doubao": "Doubao", "fireworks": "Fireworks", diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index b53eee1dc7..b0839b3767 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -347,6 +347,7 @@ "baidu-cloud": "百度云千帆", "baichuan": "百川", "dashscope": "阿里云百炼", + "gitee-ai": "Gitee AI", "deepseek": "深度求索", "doubao": "豆包", "fireworks": "Fireworks", diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index 7e299cae96..deb083c4f6 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -346,6 +346,7 @@ "baidu-cloud": "百度云千帆", "baichuan": "百川", "dashscope": "阿里雲百鍊", + "gitee-ai": "Gitee AI", "deepseek": "深度求索", "doubao": "豆包", "fireworks": "Fireworks", diff --git a/src/renderer/src/store/llm.ts b/src/renderer/src/store/llm.ts index 7a54144c7e..d6a325038a 100644 --- a/src/renderer/src/store/llm.ts +++ b/src/renderer/src/store/llm.ts @@ -43,6 +43,16 @@ const initialState: LlmState = { isSystem: true, enabled: false }, + { + id: 'gitee-ai', + name: 'gitee ai', + type: 'openai', + apiKey: '', + apiHost: 'https://ai.gitee.com', + models: SYSTEM_MODELS['gitee-ai'], + isSystem: true, + enabled: false + }, { id: 'deepseek', name: 'deepseek',