@@ -77,17 +77,11 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => {
77
77
const [ showKeys , setShowKeys ] = useState < boolean > ( false ) ;
78
78
const [ tempSelectedModelId , setTempSelectedModeId ] = useState < string | undefined > ( selectedModelId ) ;
79
79
80
- console . log ( "--------------------------------" ) ;
81
- console . log ( "models" , models ) ;
82
- console . log ( "selectedModelId" , selectedModelId ) ;
83
- console . log ( "tempSelectedModelId" , tempSelectedModelId ) ;
84
- console . log ( "testedModels" , testedModels ) ;
85
-
86
80
let updateModelStatus = ( model : ModelConfig , status : 'ok' | 'error' | 'testing' | 'unknown' , message : string ) => {
87
81
dispatch ( dfActions . updateModelStatus ( { id : model . id , status, message} ) ) ;
88
82
}
89
- let getStatus = ( id : string ) => {
90
- return testedModels . find ( t => ( t . id == id ) ) ?. status || 'unknown' ;
83
+ let getStatus = ( id : string | undefined ) => {
84
+ return id != undefined ? ( testedModels . find ( t => ( t . id == id ) ) ?. status || 'unknown' ) : 'unknown' ;
91
85
}
92
86
93
87
const [ newEndpoint , setNewEndpoint ] = useState < string > ( "" ) ; // openai, azure, ollama etc
@@ -97,7 +91,7 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => {
97
91
const [ newApiVersion , setNewApiVersion ] = useState < string | undefined > ( undefined ) ;
98
92
99
93
useEffect ( ( ) => {
100
- if ( newEndpoint == 'ollama' ) {
94
+ if ( newEndpoint == 'ollama' ) {
101
95
if ( ! newApiBase ) {
102
96
setNewApiBase ( 'http://localhost:11434' ) ;
103
97
}
@@ -142,7 +136,10 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => {
142
136
let newModelEntry = < TableRow
143
137
key = { `new-model-entry` }
144
138
sx = { { '&:last-child td, &:last-child th' : { border : 0 } , padding : "6px 6px" } }
145
- onClick = { ( ) => { setTempSelectedModeId ( undefined ) } }
139
+ onClick = { ( event ) => {
140
+ event . stopPropagation ( ) ;
141
+ setTempSelectedModeId ( undefined ) ;
142
+ } }
146
143
>
147
144
< TableCell align = "right" >
148
145
< Radio checked = { tempSelectedModelId == undefined } name = "radio-buttons" inputProps = { { 'aria-label' : 'Select this model' } } />
@@ -205,7 +202,7 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => {
205
202
freeSolo
206
203
onChange = { ( event : any , newValue : string | null ) => { setNewModel ( newValue || "" ) ; } }
207
204
value = { newModel }
208
- options = { [ 'gpt-4o-mini' , 'gpt-4o' , 'claude-3-5-sonnet-20241022' , 'codellama' ] }
205
+ options = { [ 'gpt-4o-mini' , 'gpt-4o' , 'claude-3-5-sonnet-20241022' ] }
209
206
renderOption = { ( props , option ) => {
210
207
return < Typography { ...props } onClick = { ( ) => { setNewModel ( option ) ; } } sx = { { fontSize : "small" } } > { option } </ Typography >
211
208
} }
@@ -260,28 +257,33 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => {
260
257
disabled = { ! readyToTest }
261
258
sx = { { cursor : modelExists ? 'help' : 'pointer' } }
262
259
onClick = { ( event ) => {
263
- if ( modelExists ) {
264
- return
265
- }
266
- let endpoint = newEndpoint ;
267
260
event . stopPropagation ( )
268
261
262
+ console . log ( "checkpont 1" )
263
+
264
+ let endpoint = newEndpoint ;
265
+
269
266
let id = `${ endpoint } -${ newModel } -${ newApiKey } -${ newApiBase } -${ newApiVersion } ` ;
270
267
271
268
let model = { endpoint, model : newModel , api_key : newApiKey , api_base : newApiBase , api_version : newApiVersion , id : id } ;
272
269
270
+ console . log ( "checkpont 2" )
271
+
273
272
dispatch ( dfActions . addModel ( model ) ) ;
274
273
dispatch ( dfActions . selectModel ( id ) ) ;
275
274
setTempSelectedModeId ( id ) ;
276
275
276
+ console . log ( "checkpont 3" )
277
+
277
278
testModel ( model ) ;
278
279
279
280
setNewEndpoint ( "" ) ;
280
281
setNewModel ( "" ) ;
281
-
282
282
setNewApiKey ( undefined ) ;
283
283
setNewApiBase ( undefined ) ;
284
284
setNewApiVersion ( undefined ) ;
285
+
286
+ console . log ( "checkpont 4" )
285
287
} } >
286
288
< AddCircleIcon />
287
289
</ IconButton >
@@ -434,7 +436,15 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => {
434
436
{ selectedModelId ? `Model: ${ ( models . find ( m => m . id == selectedModelId ) as any ) ?. model } ` : 'Select A Model' }
435
437
</ Button >
436
438
</ Tooltip >
437
- < Dialog maxWidth = "lg" onClose = { ( ) => { setModelDialogOpen ( false ) } } open = { modelDialogOpen } >
439
+ < Dialog
440
+ maxWidth = "lg"
441
+ open = { modelDialogOpen }
442
+ onClose = { ( event , reason ) => {
443
+ if ( reason !== 'backdropClick' ) {
444
+ setModelDialogOpen ( false ) ;
445
+ }
446
+ } }
447
+ >
438
448
< DialogTitle sx = { { display : "flex" , alignItems : "center" } } > Select Model</ DialogTitle >
439
449
< DialogContent >
440
450
{ modelTable }
@@ -444,7 +454,7 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => {
444
454
setShowKeys ( ! showKeys ) ; } } >
445
455
{ showKeys ? 'hide' : 'show' } keys
446
456
</ Button >
447
- < Button disabled = { ! ( tempSelectedModelId != undefined && getStatus ( tempSelectedModelId ) == 'ok' ) }
457
+ < Button disabled = { getStatus ( tempSelectedModelId ) ! == 'ok' }
448
458
variant = { ( selectedModelId == tempSelectedModelId ) ? 'text' : 'contained' }
449
459
onClick = { ( ) => {
450
460
dispatch ( dfActions . selectModel ( tempSelectedModelId ) ) ;
0 commit comments