@@ -2,6 +2,7 @@ import { Typography, Box } from '@mui/material'
2
2
import { ModelSettings } from '../../../shared/types'
3
3
import { useTranslation } from 'react-i18next'
4
4
import { Accordion , AccordionSummary , AccordionDetails } from '../../components/Accordion'
5
+ import ReasoningEffortSelect from '../../components/ReasoningEffortSelect'
5
6
import TemperatureSlider from '../../components/TemperatureSlider'
6
7
import TopPSlider from '../../components/TopPSlider'
7
8
import PasswordTextField from '../../components/PasswordTextField'
@@ -17,6 +18,11 @@ interface ModelConfigProps {
17
18
export default function OpenAISetting ( props : ModelConfigProps ) {
18
19
const { settingsEdit, setSettingsEdit } = props
19
20
const { t } = useTranslation ( )
21
+ const model = settingsEdit . model ;
22
+ const isReasoningModel = model ?. startsWith ( 'o' ) &&
23
+ ! model ?. startsWith ( 'o1-preview' ) &&
24
+ ! model ?. startsWith ( 'o1-mini' ) ;
25
+
20
26
return (
21
27
< Box >
22
28
< PasswordTextField
@@ -61,14 +67,26 @@ export default function OpenAISetting(props: ModelConfigProps) {
61
67
}
62
68
/>
63
69
64
- < TemperatureSlider
65
- value = { settingsEdit . temperature }
66
- onChange = { ( value ) => setSettingsEdit ( { ...settingsEdit , temperature : value } ) }
67
- />
68
- < TopPSlider
69
- topP = { settingsEdit . topP }
70
- setTopP = { ( v ) => setSettingsEdit ( { ...settingsEdit , topP : v } ) }
71
- />
70
+ { isReasoningModel && (
71
+ < ReasoningEffortSelect
72
+ value = { settingsEdit . openaiReasoningEffort }
73
+ onChange = { ( value ) => setSettingsEdit ( { ...settingsEdit , openaiReasoningEffort : value } ) }
74
+ />
75
+ ) }
76
+
77
+ { ! model ?. startsWith ( 'o' ) && (
78
+ < >
79
+ < TemperatureSlider
80
+ value = { settingsEdit . temperature }
81
+ onChange = { ( value ) => setSettingsEdit ( { ...settingsEdit , temperature : value } ) }
82
+ />
83
+ < TopPSlider
84
+ topP = { settingsEdit . topP }
85
+ setTopP = { ( v ) => setSettingsEdit ( { ...settingsEdit , topP : v } ) }
86
+ />
87
+ </ >
88
+ ) }
89
+
72
90
< MaxContextMessageCountSlider
73
91
value = { settingsEdit . openaiMaxContextMessageCount }
74
92
onChange = { ( v ) => setSettingsEdit ( { ...settingsEdit , openaiMaxContextMessageCount : v } ) }
0 commit comments