← Zur Doku-Startseite
API

Die QuantenRam API verstehen, bevor du sie integrierst

Die QuantenRam API ist bewusst OpenAI-kompatibel aufgebaut, damit du nicht erst ein neues Oekosystem lernen musst, nur um mehrere Modellfamilien sauber anzusprechen. Der wichtigste Gedanke dahinter ist Einfachheit: bekannte Request-Form, bekannte Antwortstruktur, aber eine Modell- und Hosting-Strategie, die auf QuantenRam zugeschnitten ist.

OpenAI-Kompatibilitaet ist hier kein Marketingetikett, sondern eine Integrationsentscheidung. Viele Teams haben bereits SDKs, Hilfsfunktionen, Proxies oder interne Wrapper fuer OpenAI-artige Payloads gebaut. Wenn QuantenRam denselben Grundvertrag uebernimmt, sinkt die Wechselbarriere drastisch: Aus einer grossen Migration wird oft nur eine neue Base-URL, ein neuer Bearer-Key und die Entscheidung fuer ein Aliasmodell. Genau deshalb fuehlt sich QuantenRam fuer Entwickler vertraut an, obwohl im Hintergrund mehrere Anbieter, Hosting-Formen und Produktlinien zusammenlaufen.

Base-URL und Authentifizierung

Der oeffentliche Einstiegspunkt fuer die API ist https://quantenram.net/v1. Jeder Request wird ueber einen Bearer-Token authentifiziert. Das ist absichtlich schlicht gehalten, weil API-Zugaenge im Alltag nicht kompliziert, sondern vorhersehbar sein muessen. Wenn eine Integration scheitert, willst du zuerst Authentifizierung, Modell-ID und Payload pruefen koennen, statt dich durch mehrere proprietaere Handshakes zu arbeiten.

Authorization: Bearer YOUR_API_KEY

In der Praxis bedeutet das, dass du deinen Key einmal in der Laufzeitumgebung hinterlegst und ihn dann bei jeder Anfrage mitsendest. Wer mit mehreren Umgebungen arbeitet, sollte Test-, Staging- und Produktionskeys bewusst getrennt halten. So bleibt klar sichtbar, welche Modelle und Rechte an welchem Ort verfuegbar sind.

Die beiden wichtigsten Einstiegspunkte

POST /v1/chat/completions

Dieser Endpunkt ist der Standardweg fuer textbasierte Inferenz. Hier sendest du Modell-ID, Nachrichtenverlauf und optionale Parameter wie temperature, top_p, max_tokens oder stream. Der Endpunkt ist deshalb zentral, weil nahezu jede produktive Nutzung von QuantenRam hier beginnt.

GET /v1/models

Die Modellliste ist der Orientierungspunkt fuer verfuegbare Aliasmodelle. Sie ist wichtig, weil QuantenRam bewusst mit Produkt-Aliasen arbeitet. Statt interne Providerdetails zu kennen, fragst du die Plattform, welche Modelle fuer deinen Zugang sichtbar sind, und richtest danach deine Anwendung aus.

curl https://quantenram.net/v1/models   -H "Authorization: Bearer YOUR_API_KEY"

Fuer den API-Alltag ist das ein unschaetzbar einfacher Diagnosepfad. Bevor du bei einem Fehler Modellnamen umbenennst oder Tiers vermutest, kannst du mit genau diesem Request pruefen, welche Aliasliste dein aktueller Zugang wirklich sieht.

Wie ein Request aufgebaut ist

Ein typischer Request braucht vor allem zwei Dinge: das gewuenschte Aliasmodell und eine Nachrichtenliste im bekannten Rollenformat. Diese Form ist nicht nur kompatibel, sondern auch bewusst leicht lesbar. Dadurch koennen Entwickler Payloads schnell debuggen, prompten und versionieren, ohne eine neue Syntax lernen zu muessen.

{
  "model": "quantenram-start/deepseek-chat",
  "messages": [
    {
      "role": "system",
      "content": "Du bist ein praeziser technischer Assistent."
    },
    {
      "role": "user",
      "content": "Fasse den Vorteil einer einheitlichen LLM-API in drei Saetzen zusammen."
    }
  ],
  "temperature": 0.3,
  "max_tokens": 300,
  "stream": false
}

Warum dieses Format wichtig ist, sieht man besonders in groesseren Projekten. Sobald Prompts, Systemregeln und Tooling in mehreren Services verwendet werden, willst du einen Request nicht nur absenden, sondern auch als lesbares Vertragsobjekt behandeln. Genau dafuer ist die OpenAI-kompatible Struktur hilfreich: Sie ist weit verbreitet, dokumentierbar und technisch leicht weiterzureichen.

Wie Antworten typischerweise aussehen

Eine erfolgreiche Antwort enthaelt wie gewohnt die generierte Nachricht unter choices[0].message.content sowie ein usage-Objekt fuer die Token-Sicht. Das ist wichtig, weil QuantenRam nicht nur Text liefert, sondern Nutzung nachvollziehbar macht. Gerade bei Teams und produktiven Anwendungen wird aus einer guten Antwort erst dann ein guter Betrieb, wenn auch Ressourcenverbrauch und Modellwahl sichtbar bleiben.

{
  "id": "chatcmpl_...",
  "object": "chat.completion",
  "created": 1712345678,
  "model": "quantenram-start/deepseek-chat",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Eine einheitliche LLM-API reduziert Integrationsaufwand und macht Modellwechsel einfacher. Teams koennen dadurch bessere Modelle einsetzen, ohne ihre Anwendung fuer jeden Anbieter neu anzupassen. Gleichzeitig werden Datenschutz- und Kostenentscheidungen klarer steuerbar."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 43,
    "completion_tokens": 41,
    "total_tokens": 84
  }
}

Fehlerbehandlung: warum die Grundlagen wichtiger sind als Sonderfaelle

Die meisten API-Probleme sind im Alltag keine exotischen Edge Cases, sondern wiederkehrende Grundsituationen. Eine 401-Antwort bedeutet meist, dass der Bearer-Token fehlt oder ungueltig ist. Eine 403-Antwort deutet haeufig darauf hin, dass dein Zugang fuer ein bestimmtes Modell oder Tier nicht freigeschaltet ist. Eine 404-Antwort oder ein entsprechender Fehlertext zeigt oft, dass das angefragte Aliasmodell fuer den verwendeten Key nicht verfuegbar ist. 429 und temporaere 5xx-Fehler dagegen sind Signale dafuer, dass dein Client mit Backoff, Retry oder einem Fallback-Modell arbeiten sollte.

401 / 403

Pruefe zuerst den Key und danach die Tier- oder Modellfreigabe. Das ist fast immer schneller als das Durchsuchen komplexer Payload-Details.

404

Vergleiche den verwendeten Modellnamen mit der sichtbaren Aliasliste. In QuantenRam ist meist nicht die Syntax des Requests falsch, sondern die Modellwahl fuer den aktiven Zugang.

429 / 5xx

Baue einen ruhigen Fehlerpfad mit Retry und Backoff. Wer produktive Robustheit will, sollte diese Antworten als normalen Teil des Betriebs behandeln und nicht als Ausnahme denken.

Codebeispiele fuer den Einstieg

Die folgenden Beispiele zeigen denselben API-Vertrag in drei gaengigen Formen. Gerade daran wird sichtbar, warum OpenAI-Kompatibilitaet hilfreich ist: Die Logik bleibt gleich, auch wenn sich Sprache oder Client aendern.

curl

curl https://quantenram.net/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "quantenram-start/deepseek-chat",
    "messages": [
      {
        "role": "user",
        "content": "Erklaere mir den Unterschied zwischen Start und Zenmaster."
      }
    ]
  }'

Python

from openai import OpenAI

client = OpenAI(
    base_url="https://quantenram.net/v1",
    api_key="YOUR_API_KEY",
)

response = client.chat.completions.create(
    model="quantenram-start/deepseek-chat",
    messages=[
        {
            "role": "user",
            "content": "Erklaere mir den Unterschied zwischen Start und Zenmaster.",
        }
    ],
)

print(response.choices[0].message.content)

JavaScript

const response = await fetch("https://quantenram.net/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "quantenram-start/deepseek-chat",
    messages: [
      {
        role: "user",
        content: "Erklaere mir den Unterschied zwischen Start und Zenmaster."
      }
    ]
  })
});

if (!response.ok) {
  throw new Error(`QuantenRam request failed with ${response.status}`);
}

const data = await response.json();
console.log(data.choices[0].message.content);

Der wichtigste Integrationsgedanke lautet deshalb nicht "Wie spreche ich dieses eine Modell an?", sondern "Wie baue ich meine Anwendung so, dass sie ueber denselben Vertrag mehrere Modell- und Hosting-Optionen tragen kann?" Genau darauf ist die QuantenRam API ausgelegt.