@directus/api
Version:
Directus is a real-time API and App dashboard for managing SQL database content
27 lines (26 loc) • 1.09 kB
JavaScript
import { buildCustomModels, DEFAULT_AI_MODELS } from '@directus/ai';
export function getModelDefinition(provider, model, settings) {
const customModels = buildCustomModels(settings.openaiCompatibleModels);
return [...DEFAULT_AI_MODELS, ...customModels].find((m) => m.provider === provider && m.model === model);
}
const OPENAI_REASONING_OPTIONS = {
openai: {
reasoningSummary: 'auto',
store: false,
include: ['reasoning.encrypted_content'],
},
};
export function getProviderOptions(provider, model, settings) {
const modelDef = getModelDefinition(provider, model, settings);
if (provider === 'openai' && modelDef?.reasoning) {
return OPENAI_REASONING_OPTIONS;
}
if (provider === 'openai-compatible') {
const customModel = settings.openaiCompatibleModels?.find((m) => m.id === model);
if (customModel?.providerOptions) {
const providerName = settings.openaiCompatibleName ?? 'openai-compatible';
return { [providerName]: customModel.providerOptions };
}
}
return {};
}