@@ -41,6 +41,9 @@ export const ApiKeySettings = () => {
4141 maxOutput : newModel . maxOutput ,
4242 inputPrice : newModel . inputPrice ,
4343 outputPrice : newModel . outputPrice ,
44+ temperature : newModel . temperature ,
45+ parallelToolCalls : newModel . parallelToolCalls ,
46+ store : newModel . store ,
4447 } ,
4548 ] ,
4649 } ) ;
@@ -75,6 +78,9 @@ export const ApiKeySettings = () => {
7578 maxOutput : m . maxOutput ,
7679 inputPrice : m . inputPrice ,
7780 outputPrice : m . outputPrice ,
81+ temperature : m . temperature ,
82+ parallelToolCalls : m . parallelToolCalls ,
83+ store : m . store ,
7884 } }
7985 />
8086 </ Fragment >
@@ -94,6 +100,9 @@ type CustomModel = {
94100 apiKey : string ;
95101 contextWindow : number ;
96102 maxOutput : number ;
103+ temperature : number ;
104+ parallelToolCalls : boolean ;
105+ store : boolean ;
97106 inputPrice : number ;
98107 outputPrice : number ;
99108} ;
@@ -122,6 +131,9 @@ const CustomModelSection = ({ isNew, onChange, model: customModel }: CustomModel
122131 const [ apiKey , setApiKey ] = useState ( customModel ?. apiKey || "" ) ;
123132 const [ contextWindow , setContextWindow ] = useState < number > ( customModel ?. contextWindow ?? 0 ) ;
124133 const [ maxOutput , setMaxOutput ] = useState < number > ( customModel ?. maxOutput ?? 4000 ) ;
134+ const [ temperature , setTemperature ] = useState < number > ( customModel ?. temperature ?? 0.7 ) ;
135+ const [ parallelToolCalls , setParallelToolCalls ] = useState < boolean > ( customModel ?. parallelToolCalls ?? true ) ;
136+ const [ store , setStore ] = useState < boolean > ( customModel ?. store ?? false ) ;
125137 const [ inputPrice , setInputPrice ] = useState < number > ( customModel ?. inputPrice ?? 0 ) ;
126138 const [ outputPrice , setOutputPrice ] = useState < number > ( customModel ?. outputPrice ?? 0 ) ;
127139 const [ modelName , setModelName ] = useState ( customModel ?. name || "" ) ;
@@ -150,6 +162,9 @@ const CustomModelSection = ({ isNew, onChange, model: customModel }: CustomModel
150162 setMaxOutput ( customModel . maxOutput ?? 4000 ) ;
151163 setInputPrice ( customModel . inputPrice ?? 0 ) ;
152164 setOutputPrice ( customModel . outputPrice ?? 0 ) ;
165+ setTemperature ( customModel . temperature ?? 0.7 ) ;
166+ setParallelToolCalls ( customModel . parallelToolCalls ?? true ) ;
167+ setStore ( customModel . store ?? false ) ;
153168 } , [ isNew , isEditing , customModel ] ) ;
154169
155170 const handleOnChange = async ( isDelete : boolean ) => {
@@ -196,6 +211,9 @@ const CustomModelSection = ({ isNew, onChange, model: customModel }: CustomModel
196211 maxOutput : maxOutput ,
197212 inputPrice : inputPrice ,
198213 outputPrice : outputPrice ,
214+ temperature : temperature ,
215+ parallelToolCalls : parallelToolCalls ,
216+ store : store ,
199217 } ,
200218 isDelete ,
201219 ) ;
@@ -209,6 +227,9 @@ const CustomModelSection = ({ isNew, onChange, model: customModel }: CustomModel
209227 setMaxOutput ( 4000 ) ;
210228 setInputPrice ( 0 ) ;
211229 setOutputPrice ( 0 ) ;
230+ setTemperature ( 0.7 ) ;
231+ setParallelToolCalls ( true ) ;
232+ setStore ( false ) ;
212233 } else if ( isSaveAction ) {
213234 setIsEditing ( false ) ;
214235 }
@@ -403,6 +424,44 @@ const CustomModelSection = ({ isNew, onChange, model: customModel }: CustomModel
403424 />
404425 </ div >
405426
427+ < div className = "flex flex-row mt-[4px]" >
428+ < label className = { `${ labelClassName } ` } > Temperature</ label >
429+ < input
430+ className = { detailInputClassName }
431+ value = { String ( temperature ) }
432+ type = "number"
433+ min = { 0 }
434+ max = { 2 }
435+ step = "0.1"
436+ disabled = { ! isEditing || isProcessing }
437+ onChange = { ( e ) => setTemperature ( e . target . value === "" ? 0 : Number ( e . target . value ) ) }
438+ />
439+ </ div >
440+
441+ < div className = "flex flex-row mt-[4px]" >
442+ < label className = { `${ labelClassName } ` } > Parallel Tool Calls</ label >
443+ < input
444+ id = { `parallel-${ id } ` }
445+ className = "mr-2"
446+ type = "checkbox"
447+ checked = { parallelToolCalls }
448+ disabled = { ! isEditing || isProcessing }
449+ onChange = { ( e ) => setParallelToolCalls ( e . target . checked ) }
450+ />
451+ </ div >
452+
453+ < div className = "flex flex-row mt-[4px]" >
454+ < label className = { `${ labelClassName } ` } > Store</ label >
455+ < input
456+ id = { `store-${ id } ` }
457+ className = "mr-2"
458+ type = "checkbox"
459+ checked = { store }
460+ disabled = { ! isEditing || isProcessing }
461+ onChange = { ( e ) => setStore ( e . target . checked ) }
462+ />
463+ </ div >
464+
406465 < Accordion className = "mt-2 px-0" variant = "light" selectionMode = "multiple" >
407466 < AccordionItem
408467 key = "optional-fields"
0 commit comments