Compartir comentarios
Las respuestas se generan en base a la documentación.

Use Docker Model Runner con Compose Bridge

Compose Bridge admite despliegues orientados a modelos. Puede desplegar y configurar Docker Model Runner, un servicio ligero que aloja y sirve LLMs de aprendizaje automático (machine learning).

Esto reduce la configuración manual para servicios habilitados para LLM y mantiene los despliegues consistentes en entornos de Docker Desktop y Kubernetes.

Si tienes un elemento de nivel superior models en tu archivo compose.yaml, Compose Bridge:

  • Inyecta automáticamente variables de entorno para el punto de enlace (endpoint) y el nombre de cada modelo.
  • Configura los puntos de enlace de los modelos de manera diferente para Docker Desktop frente a Kubernetes.
  • Despliega opcionalmente Docker Model Runner en Kubernetes cuando se habilita en los valores de Helm.

Configura los ajustes de Model Runner

Al realizar el despliegue utilizando los Helm Charts generados, puedes controlar la configuración de Model Runner a través de los valores de Helm.

# Ajustes de Model Runner
modelRunner:
  # Establecer en false para Docker Desktop (utiliza la instancia del host)
  # Establecer en true para clústeres de Kubernetes independientes
  enabled: false
  # Punto de enlace utilizado cuando enabled=false (Docker Desktop)
  hostEndpoint: "http://host.docker.internal:12434/engines/v1/"
  # Ajustes de despliegue cuando enabled=true
  image: "docker/model-runner:latest"
  imagePullPolicy: "IfNotPresent"
  # Soporte de GPU
  gpu:
    enabled: false
    vendor: "nvidia" # nvidia o amd
    count: 1
  # Programación de nodos (descomentar y personalizar según sea necesario)
  # nodeSelector:
  #   accelerator: nvidia-tesla-t4
  # tolerations: []
  # affinity: {}

  # Contexto de seguridad
  securityContext:
    allowPrivilegeEscalation: false
  # Variables de entorno (descomentar y añadir según sea necesario)
  # env:
  #   DMR_ORIGINS: "http://localhost:31246"
  resources:
    limits:
      cpu: "1000m"
      memory: "2Gi"
    requests:
      cpu: "100m"
      memory: "256Mi"
  # Almacenamiento para modelos
  storage:
    size: "100Gi"
    storageClass: "" # Dejar vacío para usar la clase de almacenamiento por defecto
  # Modelos a descargar previamente (pre-pull)
  models:
    - ai/qwen2.5:latest
    - ai/mxbai-embed-large

Despliegue de un Model Runner

Docker Desktop

Cuando modelRunner.enabled es false, Compose Bridge configura tus cargas de trabajo para conectarse a Docker Model Runner ejecutándose en el host:

http://host.docker.internal:12434/engines/v1/

El punto de enlace se inyecta automáticamente en los contenedores de tus servicios.

Kubernetes

Cuando modelRunner.enabled es true, Compose Bridge utiliza los manifiestos generados para desplegar Docker Model Runner en tu clúster, incluyendo:

  • Deployment: Ejecuta el contenedor docker-model-runner.
  • Service: Expone el puerto 80 (se mapea al puerto 12434 del contenedor).
  • PersistentVolumeClaim: Almacena los archivos del modelo.

La configuración modelRunner.enabled también determina el número de réplicas para el model-runner-deployment:

  • Cuando es true, el número de réplicas del despliegue se establece en 1 y Docker Model Runner se despliega en el clúster de Kubernetes.
  • Cuando es false, el número de réplicas es 0 y no se despliega ningún recurso de Docker Model Runner.