refactor updatreams

This commit is contained in:
9qeklajc
2025-10-24 16:40:27 +02:00
parent 05f3ce1a43
commit 8a09c4cf7e
4 changed files with 1830 additions and 1805 deletions
+11 -1791
View File
File diff suppressed because it is too large Load Diff
+15 -1
View File
@@ -1,3 +1,17 @@
from .ollama import OllamaUpstreamProvider
from .upstream import (
AnthropicUpstreamProvider,
AzureUpstreamProvider,
OpenAIUpstreamProvider,
OpenRouterUpstreamProvider,
UpstreamProvider,
)
__all__ = ["OllamaUpstreamProvider"]
__all__ = [
"OllamaUpstreamProvider",
"UpstreamProvider",
"AnthropicUpstreamProvider",
"AzureUpstreamProvider",
"OpenAIUpstreamProvider",
"OpenRouterUpstreamProvider",
]
+8 -13
View File
@@ -4,6 +4,8 @@ from typing import TYPE_CHECKING
import httpx
from .upstream import UpstreamProvider
if TYPE_CHECKING:
from ..payment.models import Model
@@ -12,16 +14,9 @@ from ..core.logging import get_logger
logger = get_logger(__name__)
class OllamaUpstreamProvider:
class OllamaUpstreamProvider(UpstreamProvider):
"""Upstream provider specifically configured for Ollama API."""
base_url: str
api_key: str
upstream_name: str = "ollama"
provider_fee: float = 1.01
_models_cache: list[Model] = []
_models_by_id: dict[str, Model] = {}
def __init__(
self,
base_url: str = "http://localhost:11434",
@@ -36,11 +31,11 @@ class OllamaUpstreamProvider:
provider_fee: Provider fee multiplier (default 1.01 for 1% fee)
"""
self.upstream_name = "ollama"
self.base_url = base_url
self.api_key = api_key
self.provider_fee = provider_fee
self._models_cache = []
self._models_by_id = {}
super().__init__(
base_url=base_url,
api_key=api_key,
provider_fee=provider_fee,
)
def transform_model_name(self, model_id: str) -> str:
"""Strip 'ollama/' prefix for Ollama API compatibility."""
File diff suppressed because it is too large Load Diff