-
- {/* Context window */}
-
-
Context window (tokens)
-
- {
- updateField('contextWindow', enabled ? String(defaultModelCapabilities.contextWindow) : '');
- }}
- />
- {formValues.contextWindow === '' ? (
- Default ({defaultModelCapabilities.contextWindow})
- ) : (
- updateField('contextWindow', value)}
- placeholder={String(defaultModelCapabilities.contextWindow)}
- compact={true}
- className="max-w-24"
- />
- )}
-
-
-
- {/* Maximum output tokens */}
-
-
Maximum output tokens
-
- {
- updateField('reservedOutputTokenSpace', enabled ? String(defaultModelCapabilities.reservedOutputTokenSpace) : '');
- }}
- />
- {formValues.reservedOutputTokenSpace === '' ? (
- Default ({defaultModelCapabilities.reservedOutputTokenSpace})
- ) : (
- updateField('reservedOutputTokenSpace', value)}
- placeholder={String(defaultModelCapabilities.reservedOutputTokenSpace)}
- compact={true}
- className="max-w-24"
- />
- )}
-
-
-
- {/* Supports Tools */}
-
- Supports tools
- updateField('specialToolFormat', value)}
- getOptionDisplayName={(opt) => {
- if (opt === '') return `Default (${defaultModelCapabilities.specialToolFormat || 'No'})`;
- return opt;
- }}
- getOptionDropdownName={(opt) => {
- if (opt === '') return `Default`;
- return opt;
- }}
- getOptionsEqual={(a, b) => a === b}
- className="max-w-32 text-xs"
- />
-
-
- {/* Supports System Message */}
-
- Supports system message
- updateField('supportsSystemMessage', value)}
- getOptionDisplayName={(opt) => {
- if (opt === '') return `Default (${defaultModelCapabilities.supportsSystemMessage || 'No'})`;
- if (opt === false) return 'No'
- if (opt === true) return 'Yes' // should never happen
- return opt;
- }}
- getOptionDropdownName={(opt) => {
- if (opt === '') return `Default`;
- if (opt === false) return 'No'
- if (opt === true) return 'Yes' // should never happen
- return opt;
- }}
- getOptionsEqual={(a, b) => a === b}
- className="max-w-32 text-xs"
- />
-
-
- {/* Supports FIM */}
-
- Supports fill-in-the-middle (autocomplete)
- updateField('supportsFIM', value)}
- getOptionDisplayName={(opt) => {
- if (opt === null) return `Default (${defaultModelCapabilities.supportsFIM ? 'Yes' : 'No'})`;
- return opt ? 'Yes' : 'No';
- }}
- getOptionDropdownName={(opt) => {
- if (opt === null) return 'Default';
- return opt ? 'Yes' : 'No';
- }}
- getOptionsEqual={(a, b) => a === b}
- className="max-w-32 text-xs"
- />
-
-
- {/* Supports Reasoning */}
-
- Supports reasoning
- updateField('reasoningCapabilities', value)}
- getOptionDisplayName={(opt) => {
- if (opt === null) return `Default (${defaultModelCapabilities.reasoningCapabilities ? 'Yes' : 'No'})`;
- return opt ? 'Yes' : 'No';
- }}
- getOptionDropdownName={(opt) => {
- if (opt === null) return 'Default';
- return opt ? 'Yes' : 'No';
- }}
- getOptionsEqual={(a, b) => a === b}
- className="max-w-32 text-xs"
- />
-
-
- {/* Additional reasoning options - only show when reasoning is enabled */}
- {formValues.reasoningCapabilities && (
- <>
- {/* Can Turn Off Reasoning */}
-
- Allow turning off reasoning
- updateField('canTurnOffReasoning', value)}
- getOptionDisplayName={(opt) => opt ? 'Yes' : 'No'}
- getOptionDropdownName={(opt) => opt ? 'Yes' : 'No'}
- getOptionsEqual={(a, b) => a === b}
- className="max-w-32 text-xs"
- />
-
-
- {/* Reasoning Max Output Tokens - only shown if canTurnOffReasoning is true */}
- {formValues.canTurnOffReasoning && (
-
-
Max output tokens when reasoning
-
- {
- // Use a reasonable default value when enabling
- const defaultValue = defaultModelCapabilities.reservedOutputTokenSpace || 500;
- updateField('reasoningReservedOutputTokenSpace', enabled ? String(defaultValue) : '');
- }}
- />
- {formValues.reasoningReservedOutputTokenSpace === '' ? (
- Default
- ) : (
- updateField('reasoningReservedOutputTokenSpace', value)}
- placeholder="Default"
- compact={true}
- className="max-w-24"
- />
- )}
-
-
- )}
-
- {/* Open Source Think Tags Toggle + Input Fields */}
-
-
Open source think tags
-
-
{
- if (enabled) {
- // Enable with default values
- updateField('openSourceThinkTags', ['', '']);
- } else {
- // Disable
- updateField('openSourceThinkTags', null);
- }
- }}
- />
-
- {formValues.openSourceThinkTags !== null && (
-
- {
- const currentTags = formValues.openSourceThinkTags || ['', ''];
- updateField('openSourceThinkTags', [value, currentTags[1]]);
- }}
- placeholder=""
- compact={true}
- className="max-w-16"
- />
- ...
- {
- const currentTags = formValues.openSourceThinkTags || ['', ''];
- updateField('openSourceThinkTags', [currentTags[0], value]);
- }}
- placeholder=""
- compact={true}
- className="max-w-16"
- />
-
- )}
-
-
- >
- )}
-