전송과 배포

2.1 기본 배포

서비스는 기본적으로 루프백 주소 127.0.0.1과 ::1에서 수신 대기해야 한다. 관례적인 포트는 17832이며, 기본 베이스 주소는 http://127.0.0.1:17832이다.

항목 값
수신 주소 127.0.0.1과 ::1
전송 JSON을 운반하는 HTTP/1.1 또는 HTTP/2
스트리밍 서버 전송 이벤트, Content-Type: text/event-stream
핵심 인터페이스 접두사 /lmsp/v1
OpenAI 호환 접두사 /v1
서비스 설명 GET /.well-known/lmsp.json
기계 판독 가능한 계약 GET /lmsp/v1/openapi.json
선택적 로컬 채널 Unix 도메인 소켓 또는 Windows 명명된 파이프

요청과 응답은 UTF-8 JSON(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에서 공개된다.

서비스는 같은 HTTP 의미 체계로 Unix 도메인 소켓이나 Windows 명명된 파이프의 연결도 받아들일 수 있다. 1.0에서는 이러한 엔드포인트를 어떻게 알릴지를 확장에 맡긴다.

2.2 상시 운영

서비스는 운영체제가 호스팅하는 것이 좋다. macOS에서는 launchd, Linux에서는 systemd, Windows에서는 Windows 서비스 관리자를 사용한다.

서비스 프로세스와 모델 프로세스는 분리하는 것이 좋다. 모델이 충돌하더라도 그 모델을 쓰는 작업에만 영향을 주는 것이 좋다. 서비스 검색, 모델 카탈로그, 이전 작업에 대한 조회를 사용할 수 없게 만들지 않는 것이 좋다.