Backend Proxy + Ollama (modelo IA)

Cluster de IA Educativo del CPIFP Pirámide

Acceso de alto rendimiento a modelos de lenguaje locales ejecutados sobre Ollama. Diseñado para que alumnado, profesorado y desarrolladores integren IA en sus proyectos de software con autenticación segura y seguimiento pedagógico.

POST /api/chat

curl -X POST https://api-ia.cpifppiramide.es/api/chat \

-H "X-API-Key: iam_3f8a2c1d9b4e..." \

-H "Content-Type: application/json" \

-d '{"prompt": "¿Qué es un Docker Container?", "model": "modelo_ia"}'

// Respuesta 200 OK (4231ms)

{

"success": true,

"data": {

"response": "Un contenedor es un paquete ligero...",

"model": "modelo_ia",

"durationMs": 4231

}

}

Seguridad y Rendimiento

Infraestructura Proxy Backend

API Keys Nominativas

Acceso protegido mediante tokens con formato iam_... con fecha de expiración configurada y hashing seguro SHA-256 en base de datos.

Control de Cuotas Diarias

Asignación opcional de Rate Limit diario por usuario. Contador con reinicio automático a medianoche (UTC) para asegurar el reparto equitativo del cluster.

Auditoría en PostgreSQL

Toda interacción queda registrada en prompt_logs indicando tiempo de respuesta (ms), modelo utilizado, prompt y respuesta con fines educativos.

Flujo de Peticiones

¿Cómo procesa tu aplicación las consultas?

1. Aplicación Cliente

Envía petición POST con Header X-API-Key

2. Middleware Node.js

Valida hash SHA-256, expiración, cuota diaria y persiste logs en PostgreSQL

3. Motor Ollama

Ejecuta la inferencia LLM con el modelo IA configurado

Documentación para Desarrolladores

Endpoints Disponibles

POST /api/chat Requiere X-API-Key

Envía una consulta o instrucción al modelo de lenguaje y recibe la respuesta procesada.

// Ejemplo en JavaScript (Fetch API)
const res = await fetch('https://api-ia.cpifppiramide.es/api/chat', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'iam_3f8a2c1d9b4e...'
  },
  body: JSON.stringify({
    prompt: 'Explica qué es la programación funcional en 3 líneas',
    model: 'modelo_ia' // Opcional (modelo por defecto)
  })
});

const { success, data } = await res.json();
console.log(data.response);
GET /api/chat/usage Requiere X-API-Key

Devuelve las estadísticas de uso, cuota restante y fecha de caducidad asignadas a la API Key en uso.

// Respuesta típica de consumo
{
  "success": true,
  "data": {
    "totalRequests": 142,
    "requestsToday": 17,
    "rateLimitPerDay": 100,
    "remainingToday": 83,
    "expiresAt": "2027-08-05T10:00:00.000Z"
  }
}
GET /health Público

Permite monitorizar el estado de salud del servidor middleware, la disponibilidad de la base de datos PostgreSQL y la conexión con Ollama.

Solicitud de Acceso y API Key

Los administradores del centro darán de alta tu usuario en la base de datos y generarán la API Key nominativa para tu proyecto.

Aviso Legal y Exención de Responsabilidad: El servicio de Cluster de Inteligencia Artificial del CPIFP Pirámide se proporciona de forma experimental y con fines exclusivamente formativos. El CPIFP Pirámide no se hace responsable de las respuestas, contenidos u opiniones generadas por el modelo local a través de las interacciones de los usuarios o de las aplicaciones cliente desarrolladas.