Transport et déploiement
- Normative
- Brouillon 1.0
- Mis à jour
- Afficher en Markdown
2.1 Déploiement par défaut
Un service DOIT écouter par défaut sur les adresses de loopback 127.0.0.1 et ::1. Le port conventionnel est 17832, ce qui donne l’adresse de base par défaut http://127.0.0.1:17832.
| Élément | Valeur |
|---|---|
| Adresses d’écoute | 127.0.0.1 et ::1 |
| Transport | HTTP/1.1 ou HTTP/2 transportant du JSON |
| Streaming | Événements envoyés par le serveur, Content-Type: text/event-stream |
| Préfixe de l’interface principale | /lmsp/v1 |
| Préfixe compatible OpenAI | /v1 |
| Description du service | GET /.well-known/lmsp.json |
| Contrat lisible par machine | GET /lmsp/v1/openapi.json |
| Canal local facultatif | Socket de domaine Unix ou canal nommé Windows |
Les requêtes et les réponses utilisent du JSON en UTF-8 (Content-Type: application/json), sauf les flux (text/event-stream) et les erreurs (application/problem+json). Les horodatages sont des entiers : des secondes depuis l’epoch Unix. Les identifiants sont des chaînes opaques ; un préfixe de type tel que resp_ ou task_ est RECOMMANDÉ.
Le contrat de l’interface est un document OpenAPI 3.2. OpenAPI 3.2 sait décrire les événements envoyés par le serveur, le JSON Lines et les JSON Sequences, de sorte que les points de terminaison de streaming sont spécifiés dans le même document que le reste. Le contrat de cette version est publié à l’adresse /lmsp/1.0/openapi.json.
Un service PEUT aussi accepter des connexions sur un socket de domaine Unix ou un canal nommé Windows, avec la même sémantique HTTP. Dans la version 1.0, la façon d’annoncer de tels points de terminaison est laissée aux extensions.
2.2 Fonctionnement permanent
Un service DEVRAIT être hébergé par le système d’exploitation : launchd sous macOS, systemd sous Linux et le gestionnaire de services sous Windows.
Le processus du service et les processus de modèle DEVRAIENT être séparés. Le plantage d’un modèle DEVRAIT n’affecter que les tâches qui utilisent ce modèle. Il NE DEVRAIT PAS rendre indisponibles la découverte du service, le catalogue de modèles ni les requêtes sur les tâches antérieures.