Skip to main content
POST
Chat Completion

Chat-Abschluss

Der Hauptendpunkt für KI-Chat-Abschlüsse mit optionalem Wissensdatenbankabruf (RAG), Modellredundanz/Failover, Sicherheitsrichtlinien pro Anruf und Streaming.

Endpunkt

Beschreibung

Der Hauptendpunkt für KI-Chat-Abschlüsse mit optionalem Wissensdatenbankabruf (RAG). Es unterstützt:
  • Zwei Eingabeformulare – eine einzelne prompt-Zeichenfolge (Legacy) oder ein messages-Array im OpenAI-Stil.
  • Modellredundanz – eine vom Aufrufer definierte Failover-Kette (primär + bis zu 2 Fallbacks). Siehe Redundanz & Failover.
  • Sicherheit pro Anruf – SMLTP-Richtlinienauswahl und eine Inline-Prompt-Shield-Überschreibung.
  • Streaming – Vom Server gesendete Ereignisse (SSE).
  • Signierte Quittungen – eine SMLTP-Compliance-Quittungsreferenz für über das Gateway weitergeleitete Antworten.
OpenAI SDK-KompatibilitätWenn Sie SecureAI mit null Codeänderungen in eine bestehende OpenAI-Integration integrieren möchten, verwenden Sie stattdessen den OpenAI-kompatiblen Endpunkt unter /api/external/v1/chat/completions. Dieser klassische Endpunkt ist der einzige, der RAG unterstützt.

Authentifizierung

Erforderlich: API-Schlüssel

Kopfzeilen

Anforderungstext

Eingabeparameter

Geben Sie entweder prompt oder messages an – nicht beides.

Modell- und Redundanzparameter

Parameter zum Abrufen und Generieren

Beispiel für Anfrage

Antwort

Erfolgsantwort (200)

Metadatenobjekt

Streaming

Legen Sie "stream": true fest, um vom Server gesendete Ereignisse zu empfangen. Jede SSE-Zeile ist data: <json> und der Stream endet mit data: [DONE]. Frames werden über ein type-Feld eingegeben:

Fehlerantworten

400 Ungültige Anfrage

401 Nicht autorisiert

403 Verboten

429/502 – Redundanzkette erschöpft

Wenn jedes Modell in einer Redundanzkette ausfällt, meldet die Antwort jeden Versuch. Der Status ist 429, wenn alle Fehler Ratengrenzen waren, andernfalls 502.

500 Interner Serverfehler

Beispielverwendung

JavaScript/Node.js

Python

Notizen

  • index ist erforderlich. Senden Sie index: "Zero-Knowledge" für direkte KI-Antworten ohne RAG. – Der Parameter user_id rechnet die Anfrage einem anderen Benutzerkonto (administriert) zu.
  • Die Temperatur wird auf 0–2 gehalten; max_tokens ist auf 4000 begrenzt.
  • Um eine Anfrage anhand jeder Richtlinie zu validieren, ohne ein Modell aufzurufen oder Punkte auszugeben, verwenden Sie Policy Check.
  • Zur Semantik der Failover-Kette (Trigger, Timeouts, Streaming-Verhalten, Erschöpfungsstatuscodes) siehe Redundancy & Failover.

Autorisierungen

Authorization
string
header
erforderlich

API key authentication using Bearer token format. Example: Authorization: Bearer sk-your-api-key-here

Body

application/json
prompt
string
erforderlich

The user's message/prompt

Beispiel:

"What is the company's policy on remote work?"

model
string

The AI model to use for completion

Beispiel:

"openai/gpt-4.1-mini"

index
string

Knowledge base to search for context (use 'Zero-Knowledge' for direct AI responses)

Beispiel:

"my-knowledge-base"

smltp_policy
string

Security policy to apply

Beispiel:

"internal"

temperature
number<float>
Standard:0.7

Controls randomness in the response (0 = deterministic, 2 = very random)

Erforderlicher Bereich: 0 <= x <= 2
Beispiel:

0.7

max_tokens
integer
Standard:1000

Maximum number of tokens in the response

Erforderlicher Bereich: 1 <= x <= 4000
Beispiel:

1000

stream
boolean
Standard:false

Whether to stream the response

Beispiel:

false

conversation_id
string

Optional conversation ID for tracking

Beispiel:

"conv-123"

system_message
string

Optional custom system message

Beispiel:

"You are a helpful assistant."

use_rag
boolean
Standard:true

Whether to use RAG (knowledge base retrieval)

Beispiel:

true

user_id
string

MongoDB ObjectId of the user to bill for this request. If not provided, the API key owner will be billed

Beispiel:

"60a7c8f5e8b4f5001f7a8c23"

Antwort

Successful chat completion

success
boolean
Beispiel:

true

id
string
Beispiel:

"req-abc123"

object
string
Beispiel:

"chat.completion"

created
integer
Beispiel:

1705312200

model
string
Beispiel:

"openai/gpt-4.1-mini"

choices
object[]
usage
object
metadata
object