Compatibilidad con OpenAI y Ollama
- Normativa
- Borrador 1.0
- Actualizado
- Ver como Markdown
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.