Menü

Ich habe die Rechnung für die LLM-API um 70% reduziert: Praktische Erfahrungen mit AirAi in Bezug auf Routing und Caching

0. Hintergrund: Wie ist es dazu gekommen, dass die Rechnungen so hoch sind?

Ich arbeite an ein paar Nebenprojekten, und in den Anfängen musste ich entweder das offizielle Abo für 20 $/Monat kaufen oder es mit internationalen Kreditkarten versuchen – was jedoch oft fehlschlug. Am Monatsende stellte ich zwei besorgniserregende Dinge fest:

  1. 80 % der Anfragen bestanden aus einfachen Aufgaben wie Zusammenfassung, Klassifizierung und Formatierung; es war reine Verschwendung, die teuersten Modelle dafür zu verwenden;

  1. Das Abo ist eine feste Kostenstelle – wenn es wenig genutzt wird, verliert man Geld, und wenn es viel genutzt wird, reicht das Geld nicht aus.

Also wandte ich mich an AirAi: Ich nutzte meine eigene API-Schlüssel, zahlte nach Verbrauch und richtete die Client-Anfragen an ihre OpenAI-kompatible Schnittstelle.

Hier gab es noch eine kleine Anekdote. Ich hatte nie eine anständige internationale Kreditkarte zur Hand, und bei jeder Zahlung über die offiziellen Kanäle wurde ich abgewiesen. Für eine Weile benutzte ich die Karte meiner Familie, was jedoch zu einem Risikomanagement-Vorfall führte und mein Konto gesperrt wurde. Es dauerte fast zwei Wochen, bis das Problem gelöst wurde. Danach habe ich mir fest vorgenommen, nur solche Zahlungsmethoden zu nutzen, die nicht auf internationale Karten angewiesen sind. Das letztendlich verwendete Gateway akzeptiert nur USDT – für jemanden wie mich, der keine internationale Karte hat, ist das tatsächlich die einfachste und unkomplizierteste Option: Man kann sofort Geld einzahlen und es verwenden, es gibt keine monatlichen Gebühren, und man muss auch kein KYC-Verfahren durchlaufen. Noch wichtiger ist der Preis: Meiner Erfahrung nach beträgt der Preis nur etwa 10 Prozent des Preises, der bei der direkten Verbindung über die offiziellen Kanäle angefallen wäre. Das ist der eigentliche Grund, warum ich dieses Gateway weiterhin nutze.

1. Einzeiliger Wechsel: Auf jeden kompatiblen Gateway verweisen

Fast alle Clients, die benutzerdefinierte Endpunkte unterstützen (Claude Code, Cursor, Open WebUI, LibreChat, Cline usw.), können mit einer einzigen Umgebungsvariable umgestellt werden, ohne dass der Code geändert werden muss. Weisen Sie einfach die folgenden beiden Variablen auf Ihren eigenen Gateway hin:

export OPENAI_BASE_URL="https://api.airai.cc/v1"
export ANTHROPIC_BASE_URL="https://api.airai.cc/v1"

Welchen Gateway Sie wählen, ist eine andere Frage – in diesem Artikel geht es nur um die Umsetzungsmethoden.

2. Praktische Codeanwendung: Routing + Caching

Nur der Lichtwechsel reicht nicht aus; wirklich Geld zu sparen, bedeutet, „das richtige Modell für die richtige Aufgabe einzusetzen + wiederholte Anfragen zu cachen“. Hier ist das Skelett, das ich in der Produktion verwende (kompatibel mit dem OpenAI SDK): base_url und api_key werden beide aus Umgebungsvariablen gelesen und nicht fest im Code definiert:

import openai, hashlib, os

client = openai.OpenAI(
    base_url=os.getenv("OPENAI_BASE_URL"),
    api_key=os.getenv("OPENAI_API_KEY"),
)

# Routing: small model for light tasks, flagship only for complex reasoning
CHEAP  = "gpt-5.6-luna"   # classification / summarization / formatting
STRONG = "gpt-5.6-sol"    # only called for complex reasoning

_cache: dict[str, str] = {}   # swap for Redis in production

def ask(prompt: str) -> str:
    model = STRONG if len(prompt) > 400 else CHEAP
    key = hashlib.md5(prompt.encode()).hexdigest()
    if key in _cache:                      # cache hit, 0 cost
        return _cache[key]
    resp = client.chat.completions.create(
        model=model,
        messages=[{"role": "user", "content": prompt}],
    )
    answer = resp.choices[0].message.content
    _cache[key] = answer
    return answer

CHEAP / STRONG Passen Sie dies entsprechend Ihrem Budget und den gewünschten Ergebnissen an. Der Name des Modells sollte der Dokumentation des von Ihnen verwendeten Gateways entsprechen. Vergessen Sie nicht, die Batch-Schnittstelle für Offline-Aufgaben zu nutzen – dies kann in der Regel weitere 50 % Einsparungen ermöglichen.

3. Kostenvergleich (Illustration)

Vor und nach der UmgestaltungIllustrationDaten (die tatsächlichen Zahlen entnehmen Sie bitte Ihren Rechnungen):

Projekt

Offizielle Abonnement / Direkte Verbindung

AirAi + Routing-Cache

Berechnungsweise

Feste monatliche Gebühr / Offizieller Preis

Pay-as-you-go

Leichte Modelle

Flaggschiff-Modelle (verschwenderisch)

Kleine Modelle (günstiger)

Wiederholter Anfrage

Neuberechnung des Vollpreises

Caching Hit: 0 Kosten

Sinnliche Kosten (Emotional Costs)

Baseline: 100%

Etwa 10–30% (abhängig von der Nutzung)

4. Ehrliche Grenzen (Sagen wir die Wahrheit)

  • Nicht alle sind sparsamer.Wenn die monatlichen Anfragen sehr gering sind, kann eine feste Abonnierung vorteilhafter sein; die Pay-as-You-Go-Methode zeigt ihre Vorteile erst bei hohen Anfragen. Rechnen Sie zunächst mit Ihrer eigenen Nutzung.

  • Verzögerung und StabilitätEin zusätzlicher Gateway führt zu einer geringfügigen Verzögerung, insbesondere auf Schlüsselpfaden, was zu Timeout-Ereignissen und einer Abstufung der Leistung führen kann.

  • SchlüsselsicherheitDie Schlüsselwerte sollten in Umgebungsvariablen gespeichert werden und nicht fest in die Frontend-Code oder in öffentliche Repositorien eingefügt werden.

5. Zusammenfassung

Die Essenz des Kostenersparns bei LLMs lässt sich in einem Satz zusammenfassen: Lassen Sie die günstigeren Modelle die meiste Arbeit erledigen, die teureren Modelle kommen nur dann zum Einsatz, wenn es wirklich notwendig ist, und beseitigen Sie anschließend alle überflüssigen Ressourcen („Tokens“); ändern Sie außerdem die Anforderung, „mit N Anbietern zusammenzuarbeiten“, in die einfache Anweisung, „eine Zeile zu ändern“.base_url"Routing und Caching sind zwei kostenlose 'Bausteine', die wir erstmal bereitstellen sollten."


War das hilfreich?

Technischer SupportLive-Support
侧栏
Nach oben
简体中文ZH-CNDefault繁體中文ZH-TWEnglishEN日本語JA한국어KOภาษาไทยTHTiếng ViệtVIBahasa IndonesiaIDEspañolESFrançaisFRDeutschDEРусскийRUPortuguêsPTItalianoITالعربيةAR