Chat-Completions-Proxy

OpenAI-kompatibler Chat-Completions-Proxy. Beide Pfade nutzen denselben Handler und zielen immer auf den Standard-KI-Provider. Nur POST ist erlaubt.

POST /api/ai/chat/completions

POST /api/ai/v1/chat/completions

Senden Sie einen OpenAI-artigen JSON-Body.

REQUEST-Feld Werttyp Beschreibung
messages array Chat-Nachrichten mit Rollen wie system, user, assistant und tool.
stream boolean Bei true wird die Antwort als SSE text/event-stream gestreamt.
tool_choice string Bei required wird die Tool-Ausführung erzwungen.
tools array Client-Tools werden nicht an den Upstream-Provider weitergereicht. Fehlt die Liste oder ist sie leer, bleiben alle Server-Tools verfügbar. Enthält die Liste das Tool connection_test, wird nur dieses Server-Tool verwendet.
timeout_ms number Timeout in Millisekunden. Standard: 120000.

Nicht gestreamte Antworten folgen dem OpenAI-chat.completion-Format mit Feldern wie id, object, created, model und choices. Streaming sendet Chunk-Events und endet mit data: [DONE]. Zusätzliche SSE-Events können Tool-Fortschritt melden.

Zeigt eine benutzerdefinierte Standard-Provider-URL zurück auf diesen Proxy-Endpunkt, liefert die Anfrage 409 Conflict. Fehlt der Standard-Provider, liefert die Anfrage 404. Timeout liefert 504. Provider-Fehler liefern 502. Falsche Methoden liefern 405.

Beispielanfrage

# Request
POST /api/ai/chat/completions HTTP/1.1
Host: helpdesk.example.com
Authorization: Bearer <access_token>
Content-Type: application/json
 
{
  "messages": [
    {
      "role": "user",
      "content": "Hello"
    }
  ],
  "stream": false,
  "timeout_ms": 120000
}
 
# Response
HTTP/1.1 200 OK
Content-Type: application/json
 
{
  "id": "chatcmpl-example",
  "object": "chat.completion",
  "created": 1710000000,
  "model": "inet-ai-proxy",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help?"
      },
      "finish_reason": "stop"
    }
  ]
}

Hinweis: POST /api/ai/v1/chat/completions verhält sich identisch zu POST /api/ai/chat/completions.