chore: update 2 file(s)

This commit is contained in:
mike
2025-12-28 05:25:26 +01:00
parent 7b9947da7e
commit 2b6a0c866f
2 changed files with 43 additions and 38 deletions

View File

@@ -96,52 +96,53 @@ function updateBackendModelDisplay() {
}
async function fetchBackendModels() {
try {
// ✅ FIX: Ensure valid backend before fetching
if (!currentBackendModel || currentBackendModel === ':') {
currentBackendModel = 'plato';
const selector = document.getElementById('backendModelSelector');
let allModels = [];
for (const [backendKey, backendConfig] of Object.entries(BACKENDS)) {
try {
const apiUrl = IS_PRODUCTION ? backendConfig.prod : backendConfig.dev;
console.log(`Fetching models from ${backendKey}: ${apiUrl}`);
const response = await fetch(`${apiUrl}/models`, {
signal: AbortSignal.timeout(5000) // 5 second timeout
});
if (response.ok) {
const data = await response.json();
if (data.data && Array.isArray(data.data)) {
const models = data.data.map(model => ({
backend: backendKey,
model: model.id
}));
allModels = [...allModels, ...models];
}
} else {
console.error(`Failed to fetch models from ${backendKey}: ${response.status} ${response.statusText}`);
}
} catch (error) {
console.error(`Error fetching models from ${backendKey}:`, error);
}
}
const apiUrl = getApiUrl();
console.log(`Fetching models from: ${apiUrl}`);
const response = await fetch(`${apiUrl}/models`);
const selector = document.getElementById('backendModelSelector');
if (response.ok) {
const data = await response.json();
const { backendKey } = splitBackendModel(currentBackendModel);
const effectiveBackendKey = backendKey || 'plato';
availableBackendModels = data.data.map(model => ({
backend: effectiveBackendKey,
model: model.id
}));
availableBackendModels = allModels;
if (selector) {
if (availableBackendModels.length === 0) {
selector.innerHTML = '<option value="">No models available (check backends)</option>';
} else {
populateBackendModelSelector();
// ✅ FIX: Only auto-select if no model is set
// Auto-select if no valid model is set
const hasModel = currentBackendModel && currentBackendModel.includes(':') && currentBackendModel.split(':')[1];
if (!hasModel && availableBackendModels.length > 0 && selector) {
if (!hasModel && availableBackendModels.length > 0) {
currentBackendModel = `${availableBackendModels[0].backend}:${availableBackendModels[0].model}`;
selector.value = currentBackendModel;
}
updateBackendModelDisplay();
} else {
console.error('Failed to fetch models:', response.statusText);
if (selector) {
selector.innerHTML = '<option value="">Error loading models</option>';
}
}
} catch (error) {
console.error('Error fetching models:', error);
const selector = document.getElementById('backendModelSelector');
if (selector) {
selector.innerHTML = '<option value="">Error loading models</option>';
}
}
updateBackendModelDisplay();
}
function populateBackendModelSelector() {
@@ -157,7 +158,11 @@ function populateBackendModelSelector() {
`<option value="${backendModel.backend}:${backendModel.model}">${BACKENDS[backendModel.backend].name} - ${backendModel.model}</option>`
).join('');
if (currentBackendModel) {
if (currentBackendModel && selector.querySelector(`option[value="${currentBackendModel}"]`)) {
selector.value = currentBackendModel;
} else if (availableBackendModels.length > 0) {
// If current selection is invalid, reset to first available
currentBackendModel = `${availableBackendModels[0].backend}:${availableBackendModels[0].model}`;
selector.value = currentBackendModel;
}
}

View File

@@ -39,7 +39,7 @@ server {
# Proxy API requests to plato.lan (192.168.1.74)
location /api/plato/ {
proxy_pass http://192.168.1.74:1234/v1/;
proxy_pass http://192.168.1.74:8080/v1/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -66,7 +66,7 @@ server {
# Default /api/ points to plato for backwards compatibility
location /api/ {
proxy_pass http://192.168.1.74:1234/v1/;
proxy_pass http://192.168.1.74:8080/v1/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;