Transporte e implantação
- Normativa
- Rascunho 1.0
- Atualizado em
- Ver como Markdown
2.1 Implantação padrão
Um serviço DEVE escutar por padrão nos endereços de loopback 127.0.0.1 e ::1. A porta convencional é 17832, o que torna o endereço base padrão http://127.0.0.1:17832.
| Item | Valor |
|---|---|
| Endereços de escuta | 127.0.0.1 e ::1 |
| Transporte | HTTP/1.1 ou HTTP/2 transportando JSON |
| Streaming | Eventos enviados pelo servidor, Content-Type: text/event-stream |
| Prefixo da interface principal | /lmsp/v1 |
| Prefixo compatível com a OpenAI | /v1 |
| Descrição do serviço | GET /.well-known/lmsp.json |
| Contrato legível por máquina | GET /lmsp/v1/openapi.json |
| Canal local opcional | Socket de domínio Unix ou named pipe do Windows |
As requisições e as respostas usam JSON em UTF-8 (Content-Type: application/json), exceto os fluxos (text/event-stream) e os erros (application/problem+json). Os carimbos de data e hora são inteiros: segundos desde a época Unix. Os identificadores são strings opacas; um prefixo de tipo, como resp_ ou task_, é RECOMENDADO.
O contrato da interface é um documento OpenAPI 3.2. O OpenAPI 3.2 consegue descrever eventos enviados pelo servidor, JSON Lines e JSON Sequences, de modo que os endpoints de streaming são especificados no mesmo documento que o restante. O contrato desta versão é publicado em /lmsp/1.0/openapi.json.
Um serviço PODE também aceitar conexões em um socket de domínio Unix ou em um named pipe do Windows, com a mesma semântica HTTP. Na 1.0, a forma de anunciar esses endpoints fica a cargo de extensões.
2.2 Operação contínua
Um serviço DEVERIA ser hospedado pelo sistema operacional: launchd no macOS, systemd no Linux e o Gerenciador de Serviços no Windows.
O processo do serviço e os processos dos modelos DEVERIAM ser separados. A falha de um modelo DEVERIA afetar apenas as tarefas que usam esse modelo. Ela NÃO DEVERIA tornar indisponíveis a descoberta de serviços, o catálogo de modelos nem as consultas sobre tarefas anteriores.