Transport und Betrieb
- Normativ
- Entwurf 1.0
- Aktualisiert
- Als Markdown anzeigen
2.1 Standardbetrieb
Ein Dienst MUSS standardmäßig auf den Loopback-Adressen 127.0.0.1 und ::1 lauschen. Der übliche Port ist 17832, wodurch die Standard-Basisadresse http://127.0.0.1:17832 lautet.
| Eintrag | Wert |
|---|---|
| Lauschadressen | 127.0.0.1 und ::1 |
| Transport | HTTP/1.1 oder HTTP/2 mit JSON |
| Streaming | Server-Sent Events, Content-Type: text/event-stream |
| Präfix der Kernschnittstelle | /lmsp/v1 |
| OpenAI-kompatibles Präfix | /v1 |
| Dienstbeschreibung | GET /.well-known/lmsp.json |
| Maschinenlesbarer Vertrag | GET /lmsp/v1/openapi.json |
| Optionaler lokaler Kanal | Unix-Domain-Socket oder Windows Named Pipe |
Anfragen und Antworten verwenden JSON in UTF-8 (Content-Type: application/json), außer Streams (text/event-stream) und Fehlern (application/problem+json). Zeitstempel sind ganze Zahlen: Sekunden seit der Unix-Epoche. Bezeichner sind opake Zeichenfolgen; ein Typpräfix wie resp_ oder task_ ist EMPFOHLEN.
Der Schnittstellenvertrag ist ein OpenAPI-3.2-Dokument. OpenAPI 3.2 kann Server-Sent Events, JSON Lines und JSON Sequences beschreiben, sodass die Streaming-Endpunkte im selben Dokument wie alles andere spezifiziert werden. Der Vertrag für diese Version ist unter /lmsp/1.0/openapi.json veröffentlicht.
Ein Dienst KANN außerdem Verbindungen über einen Unix-Domain-Socket oder eine Windows Named Pipe mit derselben HTTP-Semantik annehmen. In 1.0 bleibt es Erweiterungen überlassen, wie solche Endpunkte bekannt gemacht werden.
2.2 Dauerbetrieb
Ein Dienst SOLLTE vom Betriebssystem gehostet werden: launchd unter macOS, systemd unter Linux und der Windows-Dienstmanager unter Windows.
Der Dienstprozess und die Modellprozesse SOLLTEN getrennt sein. Ein Modellabsturz SOLLTE nur die Aufgaben betreffen, die dieses Modell verwenden. Er SOLLTE NICHT die Diensterkennung, den Modellkatalog oder Abfragen zu früheren Aufgaben unverfügbar machen.