Транспорт и развёртывание
- Нормативная
- Черновик 1.0
- Обновлено
- Открыть как Markdown
2.1 Развёртывание по умолчанию
По умолчанию сервис ДОЛЖЕН слушать loopback-адреса 127.0.0.1 и ::1. Стандартный порт — 17832, поэтому базовый адрес по умолчанию — http://127.0.0.1:17832.
| Параметр | Значение |
|---|---|
| Адреса прослушивания | 127.0.0.1 и ::1 |
| Транспорт | HTTP/1.1 или HTTP/2, несущий JSON |
| Потоковая передача | События, отправляемые сервером, Content-Type: text/event-stream |
| Префикс основного интерфейса | /lmsp/v1 |
| Префикс интерфейса, совместимого с OpenAI | /v1 |
| Описание сервиса | GET /.well-known/lmsp.json |
| Машиночитаемый контракт | GET /lmsp/v1/openapi.json |
| Необязательный локальный канал | Unix-сокет или именованный канал Windows |
Запросы и ответы используют JSON в UTF-8 (Content-Type: application/json), кроме потоков (text/event-stream) и ошибок (application/problem+json). Метки времени — целые числа: секунды с начала эпохи Unix. Идентификаторы — непрозрачные строки; РЕКОМЕНДУЕТСЯ использовать префикс типа, например resp_ или task_.
Контракт интерфейса — документ OpenAPI 3.2. OpenAPI 3.2 умеет описывать события, отправляемые сервером, JSON Lines и JSON Sequences, поэтому потоковые эндпоинты описаны в том же документе, что и остальные. Контракт этой версии опубликован по адресу /lmsp/1.0/openapi.json.
Сервис МОЖЕТ также принимать соединения через Unix-сокет или именованный канал Windows с той же семантикой HTTP. В версии 1.0 способ объявления таких эндпоинтов оставлен расширениям.
2.2 Постоянная работа
Сервис СЛЕДУЕТ запускать средствами операционной системы: launchd в macOS, systemd в Linux и диспетчер служб в Windows.
Процесс сервиса и процессы моделей СЛЕДУЕТ разделять. Сбой модели СЛЕДУЕТ изолировать так, чтобы он затрагивал только задачи, использующие эту модель. НЕ СЛЕДУЕТ допускать, чтобы из-за него становились недоступны обнаружение сервиса, каталог моделей или запросы о прежних задачах.