SCGR commited on
Commit
a75de05
·
1 Parent(s): 9213aa8

admin page model selection logic

Browse files
frontend/src/pages/AdminPage/AdminPage.tsx CHANGED
@@ -135,6 +135,33 @@ export default function AdminPage() {
135
  localStorage.setItem(SELECTED_MODEL_KEY, firstAvailableModel.m_code);
136
  }
137
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  } else {
139
  console.error('Expected models object but got:', modelsData);
140
  setAvailableModels([]);
@@ -144,31 +171,6 @@ export default function AdminPage() {
144
  console.error('Error fetching models:', error);
145
  setAvailableModels([]);
146
  });
147
-
148
- // Fetch current fallback model
149
- fetch('/api/admin/fallback-model', {
150
- headers: {
151
- 'Authorization': `Bearer ${localStorage.getItem('adminToken')}`
152
- }
153
- })
154
- .then(r => {
155
- if (!r.ok) {
156
- throw new Error(`HTTP ${r.status}: ${r.statusText}`);
157
- }
158
- return r.json();
159
- })
160
- .then(fallbackData => {
161
- console.log('Fallback model data received:', fallbackData);
162
- if (fallbackData.fallback_model) {
163
- setSelectedFallbackModel(fallbackData.fallback_model.m_code);
164
- } else {
165
- setSelectedFallbackModel('');
166
- }
167
- })
168
- .catch((error) => {
169
- console.error('Error fetching fallback model:', error);
170
- setSelectedFallbackModel('');
171
- });
172
  }, []);
173
 
174
  const fetchPrompts = useCallback(() => {
@@ -791,7 +793,10 @@ Model "${newModelData.label}" added successfully!
791
  label="Model"
792
  name="selected-model"
793
  value={selectedModel}
794
- onChange={(newValue) => handleModelChange(newValue || '')}
 
 
 
795
  options={[
796
  { value: 'random', label: 'Random' },
797
  ...(availableModels || [])
@@ -809,16 +814,14 @@ Model "${newModelData.label}" added successfully!
809
  label="Fallback"
810
  name="fallback-model"
811
  value={selectedFallbackModel}
812
- onChange={(newValue) => handleFallbackModelChange(newValue || '')}
813
- options={[
814
- { value: '', label: 'No fallback (use STUB_MODEL)' },
815
- ...(availableModels || [])
816
  .filter(model => model.is_available)
817
  .map(model => ({
818
  value: model.m_code,
819
  label: model.label
820
  }))
821
- ]}
822
  keySelector={(o) => o.value}
823
  labelSelector={(o) => o.label}
824
  />
 
135
  localStorage.setItem(SELECTED_MODEL_KEY, firstAvailableModel.m_code);
136
  }
137
  }
138
+
139
+ // Fetch current fallback model after models are loaded
140
+ fetch('/api/admin/fallback-model', {
141
+ headers: {
142
+ 'Authorization': `Bearer ${localStorage.getItem('adminToken')}`
143
+ }
144
+ })
145
+ .then(r => {
146
+ if (!r.ok) {
147
+ throw new Error(`HTTP ${r.status}: ${r.statusText}`);
148
+ }
149
+ return r.json();
150
+ })
151
+ .then(fallbackData => {
152
+ console.log('Fallback model data received:', fallbackData);
153
+ if (fallbackData.fallback_model) {
154
+ setSelectedFallbackModel(fallbackData.fallback_model.m_code);
155
+ } else {
156
+ const stubModel = modelsData.models.find((m: ModelData) => m.m_code === 'STUB_MODEL' && m.is_available);
157
+ setSelectedFallbackModel(stubModel ? 'STUB_MODEL' : '');
158
+ }
159
+ })
160
+ .catch((error) => {
161
+ console.error('Error fetching fallback model:', error);
162
+ const stubModel = modelsData.models.find((m: ModelData) => m.m_code === 'STUB_MODEL' && m.is_available);
163
+ setSelectedFallbackModel(stubModel ? 'STUB_MODEL' : '');
164
+ });
165
  } else {
166
  console.error('Expected models object but got:', modelsData);
167
  setAvailableModels([]);
 
171
  console.error('Error fetching models:', error);
172
  setAvailableModels([]);
173
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
  }, []);
175
 
176
  const fetchPrompts = useCallback(() => {
 
793
  label="Model"
794
  name="selected-model"
795
  value={selectedModel}
796
+ onChange={(newValue) => {
797
+ const modelCode = newValue || (availableModels.find(m => m.m_code === 'STUB_MODEL' && m.is_available)?.m_code || 'STUB_MODEL');
798
+ handleModelChange(modelCode);
799
+ }}
800
  options={[
801
  { value: 'random', label: 'Random' },
802
  ...(availableModels || [])
 
814
  label="Fallback"
815
  name="fallback-model"
816
  value={selectedFallbackModel}
817
+ onChange={(newValue) => handleFallbackModelChange(newValue || 'STUB_MODEL')}
818
+ options={(availableModels || [])
 
 
819
  .filter(model => model.is_available)
820
  .map(model => ({
821
  value: model.m_code,
822
  label: model.label
823
  }))
824
+ }
825
  keySelector={(o) => o.value}
826
  labelSelector={(o) => o.label}
827
  />