Cache Provider-Modelle in models_cache.json statt bei jedem Start von APIs zu laden

- LoadModelsAsync() prüft zuerst data/models_cache.json
- Bei Cache-Hit: kein API-Call, sofortiger Start
- RefreshModelsFromApis() lädt von APIs + speichert Cache
- POST /api/models/refresh Endpoint für manuellen Refresh
- dataDir an OpenAiService-Konstruktor übergeben
This commit is contained in:
Meleki committed 2026-03-12 08:57:47 +01:00
1 parent 145441fa7b
commit ed6e78de56
3 files changed
+62 -5

No files matched your search

+8
View File
@@ -1,4 +1,5 @@
using System.Linq;
using System.Threading.Tasks;
using Gott.Services;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
@@ -13,6 +14,7 @@ public static class ModelsEndpoint
app.MapGet("/api/models/nvidia", HandleNvidiaModels);
app.MapGet("/api/models/pollinations", HandlePollinationsModels);
app.MapGet("/api/models/gemini", HandleGeminiModels);
app.MapPost("/api/models/refresh", HandleRefresh);
}
private static IResult HandleNvidiaModels(OpenAiService openAiService)
@@ -38,4 +40,10 @@ public static class ModelsEndpoint
.ToList();
return Results.Json(new { models });
}
private static async Task<IResult> HandleRefresh(OpenAiService openAiService)
{
await openAiService.RefreshModelsFromApis();
return Results.Json(new { success = true, message = "Modelle neu geladen und gecacht." });
}
}