59 $ im ersten MonatPlaene

Chat-Abschlüsse

Senden Sie OpenAI-kompatible Chat-Anfragen mit klaren Kontrollen.

Führen Sie Chat-Arbeitsabläufe für Assistenten, Copiloten und interne Tools mit einer vertrauten Anfrageform, serverseitigen Schlüsseln, Nutzungsverfolgung und sicherem Wiederholungsverhalten aus.

Zuletzt aktualisiert: July 12, 2026. Examples Nutzung safe placeholders und tun nicht enthalten real API-Schluessels, Geheimnisse, oder customer Daten.

Standardpfad

Verwenden Sie zuerst Nicht-Streaming-Anfragen. Sie geben eine vollständige Chat.Completion-Antwort zurück und sind einfacher zu validieren, bevor der kundenorientierte Datenverkehr zunimmt.

Implementierungspfad

Vier Schritte vom Schlüssel zur Antwort.

Halten Sie die erste Integration klein: Authentifizieren Sie sich über Ihr Backend, senden Sie ein minimales Nachrichtenarray, analysieren Sie die Antwort und fügen Sie dann Wiederholungsversuche und Ratenbegrenzungsbehandlung hinzu.

Step 1

Serverseitig authentifizieren

Lesen Sie einen bereichsbezogenen API-Schlüssel aus einer serverseitigen Umgebungsvariablen und senden Sie ihn als Bearer-Token.

Abschnitt öffnen

Step 2

Senden Sie eine Chat-Anfrage

Veröffentlichen Sie eine OpenAI-kompatible Nutzlast mit einer Modellzeichenfolge und einem Nachrichtenarray.

Abschnitt öffnen

Step 3

Analysieren Sie die Antwort

Lesen Sie „choices[0].message.content“ für die Assistentennachricht und die Verwendung für die Anforderungsabrechnung.

Abschnitt öffnen

Step 4

Gehen Sie mit Grenzen und Fehlern um

Wiederholen Sie vorübergehende Fehler mit Backoff, beheben Sie jedoch Authentifizierungs-, Nutzlast-, Kapazitäts- und nicht unterstützte Funktionsfehler, bevor Sie den Vorgang erneut senden.

Abschnitt öffnen

Endpunkt

Veröffentlichen Sie JSON in der Pfad „Chat-Abschlüsse“.

Der Endpunkt folgt dem OpenAI-kompatiblen /v1-Pfad. Senden Sie Anfragen von vertrauenswürdigem serverseitigem Code mit einem bereichsbezogenen Bearer-Token.

Anforderungen und Hinweise zum Chat-Abschluss-Endpunkt.
ArtikelWertNotizen
MethodePOSTSenden Sie JSON an den Endpunkt für Chat-Abschlüsse.
Endpunkthttps://unlimitedcodex.com/v1/chat/completionsVerwenden Sie dasselbe Basismuster URL wie andere OpenAI-kompatible /v1-Endpunkte.
AutorisierungInhabertokenVerwenden Sie einen API-Schlüssel mit chat:write-Bereich aus vertrauenswürdigem serverseitigem Code.
Inhaltstypapplication/jsonDer Anforderungstext muss gültig sein: JSON.

Nicht-Streaming-Anfrage

Beginnen Sie mit einer vollständigen Antwort.

Nicht-Streaming-Anfragen sind der sicherste erste Weg, da Ihr Anwendung das vollständige Antwortobjekt, den Status, die Header und die Nutzung an einem Ort erhält.

Behalten Sie den API-Schlüssel in process.env oder einem geheimen Manager.

Use a short system instruction und a minimal user message.

Legen Sie max_tokens fest, wenn die Benutzeroberfläche oder das Kostenbudget eine Obergrenze benötigt.

Analysieren Sie die Nutzung, damit die Anforderungs-, Token- und Kostenüberwachung korrekt bleibt.

const response = await fetch("https://unlimitedcodex.com/v1/chat/completions", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.UCX_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "gpt-5.5",
    messages: [
      { role: "system", content: "You write concise operational summaries." },
      { role: "user", content: "Summarize the release checklist in three bullets." }
    ],
    temperature: 0.2,
    max_tokens: 180
  })
});

const body = await response.json();

if (!response.ok) {
  throw new Error(body.error?.code ?? "chat_request_failed");
}

console.log(body.choices[0].message.content);
console.log(body.usage);

Anforderungs- und Antwortform

Nutzen Sie bekannte Chatfelder und Nutzungsabrechnungen.

Die erforderliche Form ist klein: eine Modellzeichenfolge und mindestens eine Nachricht. Optionale Felder können das Ausgabeverhalten oder die Ratenbegrenzungsplanung verschärfen.

Felder, Status und Notizen der Chat-Abschlussanforderung.
FeldStatusNotizen
ModellEmpfohlenÜbergeben Sie den Zielmodellwert explizit. Verwenden Sie gpt-5.5 oder die in Ihren bereitgestellten Einrichtung-Dateien aufgeführten Modellwerte ChatGPT 5.5 Ultra und Codex.
NachrichtenErforderlichArray von System-, Benutzer-, Assistenten- oder Tool-Meldungen. Fügen Sie nur den Kontext ein, der für die Aufgabe erforderlich ist.
TemperaturOptionalVerwenden Sie eine Zahl zwischen 0 und 2, wenn der Arbeitsablauf mehr oder weniger Abwechslung erfordert.
max_TokensOptionalBegrenzen Sie die Antwortlänge, wenn die Benutzererfahrung oder das Kostenbudget eine vorhersehbare Obergrenze erfordern.
StromOptionalLassen Sie es weg oder legen Sie „false“ für den aktuell unterstützten Pfad fest. Sehen Sie sich das Streaming-Verhalten unten an, bevor Sie es auf „true“ setzen.
{
  "id": "chatcmpl_example",
  "object": "chat.completion",
  "created": 1783372800,
  "model": "gpt-5.5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "This is an unlimitedcodex chat completion response. Use the delivered setup files for available ChatGPT 5.5 Ultra and Codex model values."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "inputTokens": 24,
    "outputTokens": 32,
    "totalTokens": 56
  }
}

Streaming-Verhalten

Behandeln Sie Streaming als explizite Funktionsprüfung.

Gehen Sie nicht davon aus, dass sich eine Streaming-Anfrage wie eine Nicht-Streaming-Anfrage verhält. Verzweigen Sie auf den Antwortcode und behalten Sie einen vom Produkt genehmigten Fallback-Pfad bei.

{
  "error": {
    "message": "Streaming responses are not enabled for this endpoint.",
    "type": "unsupported_feature",
    "code": "streaming_not_enabled"
  }
}
Einstellungen, Verhalten und Clientaktionen des Streaming-Modus.
ModusEinstellungVerhaltenKundenaktion
Kein StreamingStream weglassen oder Stream festlegen: falseGibt ein vollständiges chat.completion-Objekt zurück, wenn die Anfrage angenommen wird.Verwenden Sie dies als Standardpfad für erste Integrationen und kundenorientierte Arbeitsabläufe.
StreamingStream: wahrDer aktuelle Endpunkt gibt 501 „streaming_not_enabled“ zurück.Greifen Sie nur dann auf Nicht-Streaming zurück, wenn das Benutzererlebnis akzeptabel ist.

Hinweise zur Modellführung

Machen Sie die Modellrichtlinie sichtbar, bevor der Datenverkehr zunimmt.

Das Musterfeld ist Teil des Anforderungsvertrages und der Betriebsakte. Behalten Sie die Absicht bei und überprüfen Sie dann die Richtlinien, bevor Sie Volumenänderungen einführen.

Halten Sie das Modell explizit

Senden Sie in jeder Anfrage einen Modellwert, damit Nutzungsprotokolle, Nutzungsanalysen und Supporteskalation ein stabiles Richtliniensignal haben.

Gehen Sie nicht von einem stillen Ausweichmanöver aus

Behandeln Sie das Modell-Fallback-Verhalten als eine konfigurierte Produktentscheidung. Überprüfen Sie die Richtlinien, bevor Sie die Namen von Produktionsmodellen ändern.

Protokollieren Sie nur sichere Kennungen

Erfassen Sie Endpunkt, Status, Modell, Nutzung und ein maskiertes Schlüsselpräfix. Protokollieren Sie keine Roheingabeaufforderungen, API-Schlüssel oder Kundendaten.

Sichere Wiederholungsversuche

Wiederholen Sie nur Arbeiten, die wiederhergestellt werden können.

Wiederholungsversuche helfen bei vorübergehendem Druck und Dienstausfällen. Sie können Kapazitäts-, Nutzlast- und Abrechnungsprobleme verstärken, wenn sich nichts ändert.

Wiederholen Sie vorübergehende Fehler

408, 500, 502, 503, 504 und kurzer 429-Ratendruck

Verwenden Sie einen begrenzten exponentiellen Wartezeit mit Jitter. Respektieren Sie „Retry-After“, wenn die Antwort es enthält.

Versuchen Sie es nicht erneut mit unveränderten Nutzlasten

400, 401, 402, 403, 501 und Kapazitätsdruck

Korrigieren Sie Nutzlast, Schlüssel, Abrechnungsstatus, Umfang, nicht unterstützte Option oder Paketkapazität, bevor Sie dieselbe Arbeit erneut senden.

Halten Sie Wiederholungsversuche für Geheimnisse unsichtbar

Alle Anwendung-Implementierungen

Wiederholen Sie die Anforderungsfunktion, nicht eine protokollierte Rohnutzlast. Redigieren Sie Autorisierungsheader und Kundeninhalte aus der Diagnose.

async function runWithChatRetries(runRequest) {
  for (let attempt = 0; attempt < 3; attempt += 1) {
    const response = await runRequest();

    if (response.ok) {
      return response;
    }

    const body = await response.clone().json().catch(() => ({}));
    const code = body.error?.code;
    const retryable =
      [408, 500, 502, 503, 504].includes(response.status) ||
      (response.status === 429 && code === "rate_limit_exceeded");

    if (!retryable) {
      return response;
    }

    const retryAfter = Number(response.headers.get("retry-after") ?? 0);
    const backoffMs = retryAfter > 0 ? retryAfter * 1000 : 500 * 2 ** attempt;
    const jitterMs = Math.floor(Math.random() * 150);

    await new Promise((resolve) => setTimeout(resolve, backoffMs + jitterMs));
  }

  return runRequest();
}

Checkliste starten

Überprüfen Sie die Integration, bevor Benutzer darauf angewiesen sind.

Ein startbereiter Chat-Arbeitsablauf erfordert mehr als eine erfolgreiche Anfrage. Bestätigen Sie Schlüssel, Grenzwerte, Fehler, Protokolle und Fallback-Verhalten, während der Explosionsradius noch klein ist.

Verwenden Sie separate Schlüssel für Entwicklung, Staging und Produktion.

Bestätigen Sie den Chat:Write-Bereich und die serverseitige Umgebungsspeicherung.

Entscheiden Sie, ob „streaming_not_enabled“ blockieren oder zurückgreifen soll.

Überwachen Sie die Anzahl der Anfragen, Eingabe-Tokens, Ausgabe-Tokens, Ratenstatus und Statuscodes.

Redigieren Sie Eingabeaufforderungen, Autorisierungsheader, Rohschlüssel und Kundendaten aus Protokollen.

Verknüpfen Sie UI-Fehler mit Wiederholungs-, Kundendienst- oder Upgrade-Aktionen anstelle von generischem Fehlertext.

FAQ

Fragen zum Chat-Abschluss.

Ist der Chat-Abschluss-Endpunkt OpenAI-kompatibel?

Ja. Der Endpunkt verwendet den bekannten Pfad /v1/chat/completions, die Bearerauthentifizierung, das Nachrichtenarray, das Antwortobjekt chat.completion, Auswahlmöglichkeiten und Verwendungsfelder.

Sollte ich Streaming für kundenorientierten Datenverkehr verwenden?

Verwenden Sie Nicht-Streaming-Anfragen, es sei denn, Ihre Integration hat die Streaming-Unterstützung bestätigt. Der aktuelle Endpunkt gibt 501 „streaming_not_enabled“ zurück, wenn der Stream „true“ ist.

War sollte ich zum Debuggen protokollieren?

Protokollendpunkt, Status, Fehlercode, Modell, Verwendung, Zeitstempel, Umgebung und maskiertes Schlüsselpräfix. Protokollieren Sie keine rohen API-Schlüssel, Geheimnisse, vollständigen Eingabeaufforderungen oder Kundendaten.

Wann sollte mein Kunde eine Chat-Anfrage erneut versuchen?

Wiederholen Sie die Antworten „Transient 408“, „Rate Pressure 429“ und „5xx“ mit begrenztem Backoff. Versuchen Sie es nicht erneut, wenn die Authentifizierung, Nutzlast, Abrechnung, Kapazität oder nicht unterstützte Funktionen fehlgeschlagen sind.

Naechster Schritt

Koppeln Sie Chat-Abschlüsse mit Authentifizierung, Limits und Fehlerbehandlung.

Stellen Sie vor dem Start sicher, dass die Schlüssel einen Gültigkeitsbereich haben, das Ratenbegrenzungsverhalten verstanden ist und Anwendung-Wiederholungsversuche vorübergehenden Druck von erforderlichen Korrekturen unterscheiden können.

OpenAI-kompatibler Chat API | unlimitedcodex