Endpunkte

4.1 Endpunkt-Tabelle

Ein konformer Dienst MUSS jeden als erforderlich markierten Endpunkt implementieren. Er KANN die optionalen implementieren und zeigt sie über die Capability-Schalter seiner Dienstbeschreibung an.

Methode Pfad Verbindlichkeit Zweck
GET /.well-known/lmsp.json Erforderlich Erkennung von Dienst und Fähigkeiten
GET /lmsp/v1/openapi.json Erforderlich Maschinenlesbare Schnittstellenspezifikation
GET /lmsp/v1/health Erforderlich Liveness- und Readiness-Prüfung
POST /lmsp/v1/pair Erforderlich Kopplungscode gegen ein Bearer-Token eintauschen
GET /lmsp/v1/models Erforderlich Lokale Modelle auflisten
GET /lmsp/v1/models/{model_id} Erforderlich Ein Modell abrufen
POST /lmsp/v1/responses Erforderlich Synchrone oder gestreamte Generierung
GET /lmsp/v1/responses/{response_id} Optional Eine gespeicherte Antwort abrufen
POST /lmsp/v1/tasks Erforderlich Eine asynchrone Generierungsaufgabe erstellen
GET /lmsp/v1/tasks/{task_id} Erforderlich Eine asynchrone Aufgabe abrufen
POST /lmsp/v1/tasks/{task_id}/cancel Erforderlich Eine asynchrone Aufgabe abbrechen
GET /lmsp/v1/tasks/{task_id}/events Optional Den Ereignisstrom abonnieren oder fortsetzen
POST /lmsp/v1/models/{model_id}/load Optional Ein Modell vorab laden
POST /lmsp/v1/models/{model_id}/unload Optional Ein Modell entladen

Die OpenAI-kompatiblen Endpunkte unter /v1 und die optionalen Ollama-kompatiblen Endpunkte sind auf Seite 8 aufgeführt.

4.2 Konventionen

  • Bodys. Anfrage- und Antwort-Bodys sind JSON (application/json), außer Ereignisströmen (text/event-stream) und Fehlern (application/problem+json).
  • Pfadparameter. Ein Name in geschweiften Klammern, etwa {model_id}, ist ein Platzhalter. Werte MÜSSEN prozentcodiert werden. Eine Modell-ID wie qwen3:14b-q4_k_m wird als qwen3%3A14b-q4_k_m gesendet.
  • Authentifizierung. Jeder Endpunkt verlangt Authorization: Bearer <token>, außer /.well-known/lmsp.json, /lmsp/v1/openapi.json, /lmsp/v1/health und /lmsp/v1/pair.
  • Optionale Endpunkte. Ein optionaler Endpunkt, den der Dienst nicht implementiert, MUSS mit 501 Not Implemented und dem Fehlercode unsupported_capability antworten.
  • Versionen und Fehler. Anfragen können Versions-Header tragen, und jeder Fehler verwendet ein einheitliches Format. Beides ist auf Seite 9 definiert.
  • Vertrag. Das unter /lmsp/1.0/openapi.json veröffentlichte OpenAPI-Dokument ist die maschinenlesbare Form dieser Seite. Wo beide voneinander abweichen, ist der Text maßgeblich.