💄 style: add SILICONCLOUD_MODEL_LIST & SILICONCLOUD_PROXY_URL support for SiliconCloud (#3492)

*  feat: add SILICONCLOUD_MODEL_LIST support for SiliconCloud

*  feat: add proxy url support for SiliconCloud

*  feat: add baseURL support
This commit is contained in:
Zhijie He 2024-08-18 11:16:10 +08:00 committed by GitHub
parent cccd089e9f
commit e41be6d7f4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 25 additions and 3 deletions

View file

@ -138,6 +138,8 @@ ENV \
PERPLEXITY_API_KEY="" PERPLEXITY_PROXY_URL="" \
# Qwen
QWEN_API_KEY="" \
# SiliconCloud
SILICONCLOUD_API_KEY="" SILICONCLOUD_MODEL_LIST="" SILICONCLOUD_PROXY_URL="" \
# Stepfun
STEPFUN_API_KEY="" \
# Taichu

View file

@ -166,6 +166,8 @@ ENV \
PERPLEXITY_API_KEY="" PERPLEXITY_PROXY_URL="" \
# Qwen
QWEN_API_KEY="" \
# SiliconCloud
SILICONCLOUD_API_KEY="" SILICONCLOUD_MODEL_LIST="" SILICONCLOUD_PROXY_URL="" \
# Stepfun
STEPFUN_API_KEY="" \
# Taichu

View file

@ -201,11 +201,12 @@ const getLlmOptionsFromPayload = (provider: string, payload: JWTPayload) => {
return { apiKey };
}
case ModelProvider.SiliconCloud: {
const { SILICONCLOUD_API_KEY } = getLLMConfig();
const { SILICONCLOUD_API_KEY, SILICONCLOUD_PROXY_URL } = getLLMConfig();
const apiKey = apiKeyManager.pick(payload?.apiKey || SILICONCLOUD_API_KEY);
const baseURL = payload?.endpoint || SILICONCLOUD_PROXY_URL;
return { apiKey };
return { apiKey, baseURL };
}
}
};

View file

@ -90,6 +90,8 @@ export const getLLMConfig = () => {
ENABLED_SILICONCLOUD: z.boolean(),
SILICONCLOUD_API_KEY: z.string().optional(),
SILICONCLOUD_MODEL_LIST: z.string().optional(),
SILICONCLOUD_PROXY_URL: z.string().optional(),
},
runtimeEnv: {
API_KEY_SELECT_MODE: process.env.API_KEY_SELECT_MODE,
@ -177,6 +179,8 @@ export const getLLMConfig = () => {
ENABLED_SILICONCLOUD: !!process.env.SILICONCLOUD_API_KEY,
SILICONCLOUD_API_KEY: process.env.SILICONCLOUD_API_KEY,
SILICONCLOUD_MODEL_LIST: process.env.SILICONCLOUD_MODEL_LIST,
SILICONCLOUD_PROXY_URL: process.env.SILICONCLOUD_PROXY_URL,
},
});
};

View file

@ -122,6 +122,9 @@ const SiliconCloud: ModelProviderCard = {
id: 'siliconcloud',
modelList: { showModelFetcher: true },
name: 'SiliconCloud',
proxyUrl: {
placeholder: 'https://api.siliconflow.cn/v1',
},
};
export default SiliconCloud;

View file

@ -7,6 +7,7 @@ import {
OllamaProviderCard,
OpenAIProviderCard,
OpenRouterProviderCard,
SiliconCloudProviderCard,
TogetherAIProviderCard,
} from '@/config/modelProviders';
import { enableNextAuth } from '@/const/auth';
@ -39,7 +40,9 @@ export const getServerGlobalConfig = () => {
ENABLED_BAICHUAN,
ENABLED_TAICHU,
ENABLED_AI360,
ENABLED_SILICONCLOUD,
SILICONCLOUD_MODEL_LIST,
ENABLED_AZURE_OPENAI,
AZURE_MODEL_LIST,
@ -113,7 +116,14 @@ export const getServerGlobalConfig = () => {
},
perplexity: { enabled: ENABLED_PERPLEXITY },
qwen: { enabled: ENABLED_QWEN },
siliconcloud: { enabled: ENABLED_SILICONCLOUD },
siliconcloud: {
enabled: ENABLED_SILICONCLOUD,
enabledModels: extractEnabledModels(SILICONCLOUD_MODEL_LIST),
serverModelCards: transformToChatModelCards({
defaultChatModels: SiliconCloudProviderCard.chatModels,
modelString: SILICONCLOUD_MODEL_LIST,
}),
},
stepfun: { enabled: ENABLED_STEPFUN },
taichu: { enabled: ENABLED_TAICHU },