Commit 12d096e

benny-dou <60535774+benny-dou@users.noreply.github.com>
2025-02-11 14:58:42
feat(gpt): sort models by throughput
1 parent 44004ae
Changed files (1)
src
src/llm/models.py
@@ -1,5 +1,7 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
+from typing import Any
+
 from openai import DefaultAsyncHttpxClient
 from pyrogram.types import Message
 
@@ -73,12 +75,12 @@ def openrouter_hook(base_url: str, *, for_tools: bool = False) -> dict:
     """Add special parameters for OpenRouter."""
     if "openrouter" not in base_url:
         return {}
-    params = {}
+    params: dict[str, Any] = {"extra_body": {"provider": {"sort": "throughput"}}}
     if for_tools:
         if models := [x.strip() for x in GPT.FALLBACK_TOOLS_MODELS.split(",") if x.strip()]:
-            params |= {"extra_body": {"models": models}}
+            params["extra_body"] |= {"models": models}
     else:
-        params |= {"extra_body": {"include_reasoning": True}}
+        params["extra_body"] |= {"include_reasoning": True}
         if models := [x.strip() for x in GPT.FALLBACK_MODELS.split(",") if x.strip()]:
-            params["extra_body"]["models"] = models
+            params["extra_body"] |= {"models": models}
     return params