Compatibilidad con OpenAI y Ollama

8.1 Endpoints compatibles con OpenAI

Un servicio DEBERÍA ofrecer una interfaz compatible con OpenAI junto a la interfaz LMSP, y declararla en interfaces con kind establecido en openai. Para cubrir a los clientes existentes, un servicio que lo haga DEBE implementar al menos estos endpoints bajo el prefijo /v1:

Endpoint Notas
GET /v1/models Lista los modelos del catálogo LMSP. Cada id es el id de modelo de LMSP.
POST /v1/chat/completions Chat Completions, con y sin streaming.
POST /v1/responses La forma de OpenAI Responses.
POST /v1/embeddings La interfaz principal de LMSP 1.0 no tiene un endpoint de embeddings. El adaptador sirve este endpoint directamente, para los modelos cuyo capabilities.embeddings es true.

Estos endpoints aceptan los mismos tokens de portador que la interfaz LMSP. Un cliente que habla el protocolo OpenAI establece el token LMSP como su clave de API.

Una primera implementación puede empezar con /v1/models y /v1/chat/completions (página 12).

8.2 Endpoints compatibles con Ollama

Un servicio DEBERÍA ofrecer también estos endpoints, para que funcionen igualmente los clientes escritos para Ollama:

Endpoint Notas
GET /api/tags Lista los modelos del catálogo LMSP.
POST /api/chat Chat.
POST /api/generate Generación de texto simple.

Un servicio que los ofrece declara una interfaz con kind establecido en ollama.

8.3 Un único núcleo de ejecución

La capa de compatibilidad DEBE limitarse a convertir datos. NO DEBE crear un segundo conjunto de lógica de gestión de modelos. Una solicitud en una interfaz de compatibilidad se asigna a una respuesta LMSP, se ejecuta en el mismo núcleo y adaptador que una solicitud nativa, y usa el mismo catálogo de modelos y la misma autenticación.

OpenAI Chat Completions
          |  asignación de la solicitud
          v
     LMSP Response
          |  adaptación al backend
          v
llama.cpp / Ollama / vLLM / otros entornos de ejecución

En los endpoints /v1 y /api, un servicio DEBERÍA notificar los errores en el formato que define la API correspondiente, de modo que los clientes sin modificar puedan interpretarlos. La interfaz LMSP usa siempre application/problem+json.

8.4 Límites

La compatibilidad tiene límites, y conviene enunciarlos con claridad:

  • Un cliente compatible con OpenAI existente normalmente solo necesita cambiar su base_url. No obtiene automáticamente el descubrimiento de LMSP.
  • Solo los clientes que admiten LMSP pueden descubrir un servicio automáticamente, leer sus capacidades detalladas, reanudar flujos de eventos y gestionar tareas asíncronas.
  • Ningún protocolo del lado del servidor puede hacer que funcione un cliente que no se puede configurar y solo acepta direcciones oficiales en la nube.