Saltar al contenido principal

Endpoints de la API

l3mcore escucha por defecto en http://0.0.0.0:11435 y expone endpoints compatibles con las APIs de OpenAI y Ollama.


Endpoints OpenAI

POST /v1/chat/completions

Genera una respuesta de chat. Compatible con cualquier cliente OpenAI.

Request:

{
"model": "gpt-4",
"messages": [
{"role": "system", "content": "Eres un asistente útil."},
{"role": "user", "content": "Escribe un script en bash para listar procesos."}
],
"stream": true
}
Campo model opcional
  • Omitido o genérico (e.g. "gpt-4"): l3mcore analiza el prompt y enruta automáticamente al mejor experto.
  • Etiqueta específica (e.g. "programador"): se salta el router y va directo al experto indicado.

Response (sin streaming):

{
"id": "chatcmpl-...",
"object": "chat.completion",
"model": "programador",
"choices": [{
"message": {
"role": "assistant",
"content": "#!/bin/bash\nps aux | sort -rk 3,3 | head -20"
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 15,
"completion_tokens": 12,
"total_tokens": 27
}
}

GET /v1/models

Lista todos los expertos disponibles en formato OpenAI.

Response:

{
"object": "list",
"data": [
{"id": "programador", "object": "model", "created": 1700000000, "owned_by": "lemoe"},
{"id": "escritor_creativo", "object": "model", "created": 1700000000, "owned_by": "lemoe"}
]
}

Endpoints Ollama

POST /api/chat

Compatible con clientes Ollama.

{
"model": "lemoe",
"messages": [
{"role": "user", "content": "Explica la computación cuántica."}
],
"stream": false
}

GET /api/tags

Lista los expertos en formato Ollama.


GET /api/version

Devuelve la versión del servidor:

{"version": "1.0.0"}

Límites del servidor

LímiteValor
Rate limit60 requests/minuto por IP
Tamaño máximo de payload1 MB
StreamingSSE compatible
Detrás de un proxy reverso

El rate limiter respeta la cabecera X-Forwarded-For, por lo que funciona correctamente detrás de Nginx, Traefik o Caddy.