diff --git a/main.py b/main.py index 6dab940..c333c25 100644 --- a/main.py +++ b/main.py @@ -429,21 +429,22 @@ async def get_models(provider: str, url: str = None): models.sort() elif provider == "nvidia": - if not NVIDIA_API_KEY or "hier" in NVIDIA_API_KEY: return {"models": []} - # NVIDIA nutzt das OpenAI SDK! - import openai + if not NVIDIA_API_KEY or "hier" in NVIDIA_API_KEY: + return {"models": ["FEHLER: Key fehlt in .env"]} + client = openai.AsyncOpenAI( api_key=NVIDIA_API_KEY, base_url="https://integrate.api.nvidia.com/v1" ) try: - response = await client.models.list() - # Bei NVIDIA heißen die Modelle oft nach dem Schema "nvidia/llama-3.1-405b" + # Timeout hinzufügen, damit die Seite nicht ewig hängt + response = await asyncio.wait_for(client.models.list(), timeout=5.0) models = [m.id for m in response.data] models.sort() + return {"models": models} except Exception as e: - print(f"Fehler bei NVIDIA Abfrage: {e}") - return {"models": []} + print(f"NVIDIA API Error: {e}") + return {"models": [f"NVIDIA Fehler: {str(e)[:20]}..."]} elif provider == "google": if not GOOGLE_API_KEY: