mirror of
https://github.com/Routstr/routstr-core.git
synced 2026-10-05 12:28:22 +00:00
Add a first-class `deepseek` upstream provider that needs only an API key; the base URL is fixed to https://api.deepseek.com. DEEPSEEK_API_KEY seeds it on startup. Models come from DeepSeek's own /models and are priced from a peak-rate table in routstr/upstream/deepseek.py. A listed model the table misses is imported disabled instead of taking a litellm/OpenRouter price, via a new GenericUpstreamProvider.use_fallback_pricing switch (default True, so other providers are unchanged). The node bills one flat price per model, so the table holds the peak rate and never bills below DeepSeek's cost. Thinking-mode reasoning_content is forwarded unchanged: DeepSeek requires it on requests that carry tools and ignores it otherwise. Remove the temporary DeepSeek V4 pricing shim and its startup call. The pinned litellm 1.101.2 already ships every key it filled.
46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
from .anthropic import AnthropicUpstreamProvider
|
|
from .azure import AzureUpstreamProvider
|
|
from .base import BaseUpstreamProvider
|
|
from .deepseek import DeepSeekUpstreamProvider
|
|
from .fireworks import FireworksUpstreamProvider
|
|
from .gemini import GeminiUpstreamProvider
|
|
from .generic import GenericUpstreamProvider
|
|
from .groq import GroqUpstreamProvider
|
|
from .ollama import OllamaUpstreamProvider
|
|
from .openai import OpenAIUpstreamProvider
|
|
from .openrouter import OpenRouterUpstreamProvider
|
|
from .perplexity import PerplexityUpstreamProvider
|
|
from .ppqai import PPQAIUpstreamProvider
|
|
from .routstr import RoutstrUpstreamProvider
|
|
from .tinfoil import TinfoilUpstreamProvider
|
|
from .typesafe import TypeSafeUpstreamProvider
|
|
from .venice import VeniceUpstreamProvider
|
|
from .xai import XAIUpstreamProvider
|
|
|
|
upstream_provider_classes: list[type[BaseUpstreamProvider]] = [
|
|
AnthropicUpstreamProvider,
|
|
AzureUpstreamProvider,
|
|
DeepSeekUpstreamProvider,
|
|
FireworksUpstreamProvider,
|
|
GeminiUpstreamProvider,
|
|
GenericUpstreamProvider,
|
|
GroqUpstreamProvider,
|
|
OllamaUpstreamProvider,
|
|
OpenAIUpstreamProvider,
|
|
OpenRouterUpstreamProvider,
|
|
PerplexityUpstreamProvider,
|
|
PPQAIUpstreamProvider,
|
|
RoutstrUpstreamProvider,
|
|
TinfoilUpstreamProvider,
|
|
TypeSafeUpstreamProvider,
|
|
VeniceUpstreamProvider,
|
|
XAIUpstreamProvider,
|
|
]
|
|
"""List of all upstream classes"""
|
|
|
|
__all__ = [
|
|
"BaseUpstreamProvider",
|
|
*[cls.__name__ for cls in upstream_provider_classes],
|
|
"upstream_provider_classes",
|
|
]
|