diff --git a/src/renderer/src/assets/images/providers/ppio.png b/src/renderer/src/assets/images/providers/ppio.png new file mode 100644 index 00000000..f7d49f06 Binary files /dev/null and b/src/renderer/src/assets/images/providers/ppio.png differ diff --git a/src/renderer/src/config/models.ts b/src/renderer/src/config/models.ts index 006d7c6d..0192046f 100644 --- a/src/renderer/src/config/models.ts +++ b/src/renderer/src/config/models.ts @@ -348,6 +348,68 @@ export const SYSTEM_MODELS: Record = { group: 'BAAI' } ], + ppio: [ + { + id: 'deepseek/deepseek-r1/community', + name: 'DeepSeek: DeepSeek R1 (Community)', + provider: 'ppio', + group: 'deepseek' + }, + { + id: 'deepseek/deepseek-v3/community', + name: 'DeepSeek: DeepSeek V3 (Community)', + provider: 'ppio', + group: 'deepseek' + }, + { + id: 'deepseek/deepseek-r1', + provider: 'ppio', + name: 'DeepSeek R1', + group: 'deepseek' + }, + { + id: 'deepseek/deepseek-v3', + provider: 'ppio', + name: 'DeepSeek V3', + group: 'deepseek' + }, + { + id: 'qwen/qwen-2.5-72b-instruct', + provider: 'ppio', + name: 'Qwen2.5-72B-Instruct', + group: 'qwen' + }, + { + id: 'qwen/qwen2.5-32b-instruct', + provider: 'ppio', + name: 'Qwen2.5-32B-Instruct', + group: 'qwen' + }, + { + id: 'meta-llama/llama-3.1-70b-instruct', + provider: 'ppio', + name: 'Llama-3.1-70B-Instruct', + group: 'meta-llama' + }, + { + id: 'meta-llama/llama-3.1-8b-instruct', + provider: 'ppio', + name: 'Llama-3.1-8B-Instruct', + group: 'meta-llama' + }, + { + id: '01-ai/yi-1.5-34b-chat', + provider: 'ppio', + name: 'Yi-1.5-34B-Chat', + group: '01-ai' + }, + { + id: '01-ai/yi-1.5-9b-chat', + provider: 'ppio', + name: 'Yi-1.5-9B-Chat', + group: '01-ai' + } + ], openai: [ { id: 'gpt-4o', provider: 'openai', name: ' GPT-4o', group: 'GPT 4o' }, { id: 'gpt-4o-mini', provider: 'openai', name: ' GPT-4o-mini', group: 'GPT 4o' }, diff --git a/src/renderer/src/config/providers.ts b/src/renderer/src/config/providers.ts index 69c07d5b..0edf7247 100644 --- a/src/renderer/src/config/providers.ts +++ b/src/renderer/src/config/providers.ts @@ -25,6 +25,7 @@ import OcoolAiProviderLogo from '@renderer/assets/images/providers/ocoolai.png' import OllamaProviderLogo from '@renderer/assets/images/providers/ollama.png' import OpenAiProviderLogo from '@renderer/assets/images/providers/openai.png' import OpenRouterProviderLogo from '@renderer/assets/images/providers/openrouter.png' +import PPIOProviderLogo from '@renderer/assets/images/providers/ppio.png' import SiliconFlowProviderLogo from '@renderer/assets/images/providers/silicon.png' import StepProviderLogo from '@renderer/assets/images/providers/step.png' import TogetherProviderLogo from '@renderer/assets/images/providers/together.png' @@ -95,6 +96,8 @@ export function getProviderLogo(providerId: string) { return MistralProviderLogo case 'jina': return JinaProviderLogo + case 'ppio': + return PPIOProviderLogo case 'baidu-cloud': return BaiduCloudProviderLogo default: @@ -114,6 +117,19 @@ export const PROVIDER_CONFIG = { models: 'https://platform.openai.com/docs/models' } }, + ppio: { + api: { + url: 'https://api.ppinfra.com/v3/openai' + }, + websites: { + official: + 'https://ppinfra.com/model-api/product/llm-api?utm_source=github_cherry-studio&utm_medium=github_readme&utm_campaign=link', + apiKey: 'https://ppinfra.com/settings/key-management', + docs: 'https://ppinfra.com/docs/model-api/reference/llm/llm.html', + models: + 'https://ppinfra.com/model-api/product/llm-api?utm_source=github_cherry-studio&utm_medium=github_readme&utm_campaign=link' + } + }, gemini: { api: { url: 'https://generativelanguage.googleapis.com' diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index d27364cb..3ef3a41c 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -372,7 +372,8 @@ "yi": "Yi", "zhinao": "360AI", "zhipu": "ZHIPU AI", - "qwenlm": "QwenLM" + "qwenlm": "QwenLM", + "ppio": "PPIO" }, "settings": { "about": "About & Feedback", diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index b0839b37..19eca7d5 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -373,7 +373,8 @@ "yi": "零一万物", "zhinao": "360智脑", "zhipu": "智谱AI", - "qwenlm": "QwenLM" + "qwenlm": "QwenLM", + "ppio": "PPIO 派欧云" }, "settings": { "about": "关于我们", diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index deb083c4..60e3e744 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -372,7 +372,8 @@ "yi": "零一萬物", "zhinao": "360智腦", "zhipu": "智譜AI", - "qwenlm": "QwenLM" + "qwenlm": "QwenLM", + "ppio": "PPIO 派歐雲" }, "settings": { "about": "關於與回饋", diff --git a/src/renderer/src/store/llm.ts b/src/renderer/src/store/llm.ts index d6a32503..c9651887 100644 --- a/src/renderer/src/store/llm.ts +++ b/src/renderer/src/store/llm.ts @@ -63,6 +63,16 @@ const initialState: LlmState = { isSystem: true, enabled: false }, + { + id: 'ppio', + name: 'PPIO', + type: 'openai', + apiKey: '', + apiHost: 'https://api.ppinfra.com/v3/openai', + models: SYSTEM_MODELS.ppio, + isSystem: true, + enabled: false + }, { id: 'ocoolai', name: 'ocoolAI',