Files
openmaic/OpenMAIC/lib/utils/model-config.ts
2026-08-16 14:58:47 +08:00

38 lines
1.3 KiB
TypeScript

import { useSettingsStore } from '@/lib/store/settings';
import {
getThinkingConfigKey,
normalizeThinkingConfig,
supportsConfigurableThinking,
} from '@/lib/ai/thinking-config';
import { findModelById } from '@/lib/ai/model-aliases';
import { getCatalogThinkingCapability } from '@/lib/ai/model-metadata';
/**
* Get current model configuration from settings store
*/
export function getCurrentModelConfig() {
const { providerId, modelId, providersConfig, thinkingConfigs } = useSettingsStore.getState();
const modelString = `${providerId}:${modelId}`;
// Get current provider's config
const providerConfig = providersConfig[providerId];
const modelInfo = findModelById(providerId, providerConfig?.models, modelId);
const thinking =
modelInfo?.capabilities?.thinking ?? getCatalogThinkingCapability(providerId, modelId);
const thinkingConfig = supportsConfigurableThinking(thinking)
? normalizeThinkingConfig(thinking, thinkingConfigs[getThinkingConfigKey(providerId, modelId)])
: undefined;
return {
providerId,
modelId,
modelString,
apiKey: providerConfig?.apiKey || '',
baseUrl: providerConfig?.baseUrl || '',
providerType: providerConfig?.type,
requiresApiKey: providerConfig?.requiresApiKey,
isServerConfigured: providerConfig?.isServerConfigured,
thinkingConfig,
};
}