mirror of
https://github.com/voideditor/void
synced 2026-05-23 17:38:23 +00:00
Refactor role mapping logic
This commit is contained in:
parent
db771c4f33
commit
05e27a0885
1 changed files with 14 additions and 4 deletions
|
|
@ -374,19 +374,29 @@ const extensiveModelOptionsFallback: VoidStaticProviderInfo['modelOptionsFallbac
|
|||
const lower = modelName.toLowerCase()
|
||||
|
||||
const toFallback = <T extends { [s: string]: Omit<VoidStaticModelInfo, 'cost' | 'downloadable'> },>(obj: T, recognizedModelName: string & keyof T)
|
||||
: VoidStaticModelInfo & { modelName: string, recognizedModelName: string } => {
|
||||
: VoidStaticModelInfo & { modelName: string, recognizedModelName: string, roleMode: 'system' | 'developer' | false } => {
|
||||
|
||||
const opts = obj[recognizedModelName];
|
||||
|
||||
const roleMode =
|
||||
recognizedModelName === 'system' || recognizedModelName === 'gemini'
|
||||
? 'system'
|
||||
: recognizedModelName === 'developer'
|
||||
? 'developer'
|
||||
: false;
|
||||
|
||||
const opts = obj[recognizedModelName]
|
||||
return {
|
||||
recognizedModelName,
|
||||
modelName,
|
||||
...opts,
|
||||
supportsSystemMessage: opts.supportsSystemMessage ?? false,
|
||||
supportsSystemMessage: roleMode !== false,
|
||||
roleMode,
|
||||
cost: { input: 0, output: 0 },
|
||||
downloadable: false,
|
||||
...fallbackKnownValues
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
if (lower.includes('gemini') && (lower.includes('2.5') || lower.includes('2-5'))) return toFallback(geminiModelOptions, 'gemini-2.5-pro-exp-03-25')
|
||||
|
||||
if (lower.includes('claude-3-5') || lower.includes('claude-3.5')) return toFallback(anthropicModelOptions, 'claude-3-5-sonnet-20241022')
|
||||
|
|
|
|||
Loading…
Reference in a new issue