UNPKG

@lobehub/chat

Version:

Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.

25 lines (20 loc) 1.04 kB
import { ModelProviderCard, UserModelProviderConfig } from '@lobechat/types'; import { ModelProvider } from 'model-bank'; import * as ProviderCards from '@/config/modelProviders'; export const genUserLLMConfig = (specificConfig: Record<any, any>): UserModelProviderConfig => { return Object.keys(ModelProvider).reduce((config, providerKey) => { const provider = ModelProvider[providerKey as keyof typeof ModelProvider]; const providerCard = ProviderCards[ `${providerKey}ProviderCard` as keyof typeof ProviderCards ] as ModelProviderCard; const providerConfig = specificConfig[provider as keyof typeof specificConfig] || {}; config[provider] = { enabled: providerConfig.enabled !== undefined ? providerConfig.enabled : false, enabledModels: providerCard ? ProviderCards.filterEnabledModels(providerCard) : [], ...(providerConfig.fetchOnClient !== undefined && { fetchOnClient: providerConfig.fetchOnClient, }), }; return config; }, {} as UserModelProviderConfig); };