Skip to content
Diese Seite wurde mit KI-Unterstützung erstellt und übersetzt. Falls Ihnen Ungenauigkeiten auffallen, helfen Sie gerne bei der Verbesserung. Auf GitHub bearbeiten

LLM-Anbieter

PRX verbindet sich über Anbieter mit großen Sprachmodellen -- austauschbare Backends, die den Provider-Trait implementieren. Jeder Anbieter behandelt Authentifizierung, Anfrage-Formatierung, Streaming und Fehlerklassifizierung für eine bestimmte LLM-API.

PRX liefert 9 eingebaute Anbieter, einen OpenAI-kompatiblen Endpunkt für Drittanbieter-Dienste und Infrastruktur für Fallback-Ketten und intelligentes Routing.

Fähigkeitsmatrix

AnbieterSchlüsselmodelleStreamingVisionWerkzeugnutzungOAuthSelbstgehostet
AnthropicClaude Opus 4, Claude Sonnet 4JaJaJaJa (Claude Code)Nein
OpenAIGPT-4o, o1, o3JaJaJaNeinNein
Google GeminiGemini 2.0 Flash, Gemini 1.5 ProJaJaJaJa (Gemini CLI)Nein
OpenAI CodexCodex-ModelleJaNeinJaJaNein
GitHub CopilotCopilot Chat-ModelleJaNeinJaJa (Device Flow)Nein
OllamaLlama 3, Mistral, Qwen, jedes GGUFJaModellabhängigJaNeinJa
AWS BedrockClaude, Titan, LlamaJaModellabhängigModellabhängigAWS IAMNein
GLMGLM-4, Zhipu, Minimax, Moonshot, Qwen, Z.AIJaModellabhängigModellabhängigJa (Minimax/Qwen)Nein
OpenRouter200+ Modelle von mehreren AnbieternJaModellabhängigModellabhängigNeinNein
Custom CompatibleJede OpenAI-kompatible APIJaEndpunktabhängigEndpunktabhängigNeinJa

Schnellkonfiguration

Anbieter werden in ~/.config/openprx/config.toml (oder ~/.openprx/config.toml) konfiguriert. Setzen Sie mindestens den Standardanbieter und geben Sie einen API-Schlüssel an:

toml
# Select the default provider and model
default_provider = "anthropic"
default_model = "anthropic/claude-sonnet-4-6"
default_temperature = 0.7

# API key (can also be set via ANTHROPIC_API_KEY env var)
api_key = "sk-ant-..."

Für selbstgehostete Anbieter wie Ollama geben Sie den Endpunkt an:

toml
default_provider = "ollama"
default_model = "llama3:70b"
api_url = "http://localhost:11434"

Jeder Anbieter löst seinen API-Schlüssel in folgender Reihenfolge auf:

  1. Das api_key-Feld in config.toml
  2. Anbieterspezifische Umgebungsvariable (z.B. ANTHROPIC_API_KEY, OPENAI_API_KEY)
  3. Die generische API_KEY-Umgebungsvariable

Siehe Umgebungsvariablen für die vollständige Liste unterstützter Variablen.

Fallback-Ketten mit ReliableProvider

PRX umhüllt Anbieteraufrufe mit einer ReliableProvider-Schicht, die Folgendes bietet:

  • Automatische Wiederholung mit exponentiellem Backoff für vorübergehende Fehler (5xx, 429 Ratenlimits, Netzwerk-Timeouts)
  • Fallback-Ketten -- wenn der primäre Anbieter fehlschlägt, werden Anfragen automatisch an den nächsten Anbieter in der Kette weitergeleitet
  • Nicht-wiederholbare Fehlererkennung -- Clientfehler wie ungültige API-Schlüssel (401/403) und unbekannte Modelle (404) schlagen sofort fehl, ohne Wiederholungen zu verschwenden

Konfigurieren Sie die Zuverlässigkeit im [reliability]-Abschnitt:

toml
[reliability]
max_retries = 3
fallback_providers = ["openai", "gemini"]

Wenn der primäre Anbieter (z.B. Anthropic) einen vorübergehenden Fehler zurückgibt, wiederholt PRX bis zu max_retries Mal mit Backoff. Wenn alle Wiederholungen erschöpft sind, fällt er auf den ersten Fallback-Anbieter zurück. Die Fallback-Kette wird fortgesetzt, bis eine erfolgreiche Antwort vorliegt oder alle Anbieter erschöpft sind.

Fehlerklassifizierung

Der ReliableProvider klassifiziert Fehler in zwei Kategorien:

  • Wiederholbar: HTTP 5xx, 429 (Ratenlimit), 408 (Timeout), Netzwerkfehler
  • Nicht wiederholbar: HTTP 4xx (außer 429/408), ungültige API-Schlüssel, unbekannte Modelle, fehlerhafte Antworten

Nicht wiederholbare Fehler überspringen Wiederholungen und fallen sofort auf den nächsten Anbieter zurück, um verschwendete Latenz zu vermeiden.

Router-Integration

Für fortgeschrittene Multi-Modell-Setups unterstützt PRX einen heuristischen LLM-Router, der den optimalen Anbieter und das optimale Modell pro Anfrage auswählt, basierend auf:

  • Fähigkeitsbewertung -- gleicht Abfragekomplexität mit Modellstärken ab
  • Elo-Rating -- verfolgt die Modellleistung über die Zeit
  • Kostenoptimierung -- bevorzugt günstigere Modelle für einfache Abfragen
  • Latenzgewichtung -- berücksichtigt die Antwortzeit
  • KNN-Semantik-Routing -- verwendet historische Abfrage-Embeddings für ähnlichkeitsbasiertes Routing
  • Automix-Eskalation -- beginnt mit einem günstigen Modell und eskaliert zu einem Premium-Modell bei geringer Konfidenz
toml
[router]
enabled = true
knn_enabled = true

[router.automix]
enabled = true
confidence_threshold = 0.7
premium_model_id = "anthropic/claude-sonnet-4-6"

Siehe Router-Konfiguration für alle Details.

Anbieterseiten

Released under the Apache-2.0 License.