# Modelos





La sección de nivel superior `models` declara los modelos de IA que utiliza tu aplicación de Compose. Por lo general, estos modelos se descargan (pull) como artefactos OCI, los ejecuta un ejecutor de modelos (model runner) y se exponen como una API que los contenedores de tus servicios pueden consumir.

Los servicios solo pueden acceder a los modelos cuando se les concede explícitamente mediante un [atributo `models`](/reference/compose-file/models/services/#models) dentro del elemento de nivel superior `services`.

## Ejemplos

### Ejemplo 1

```yaml
services:
  app:
    image: app
    models:
      - ai_model


models:
  ai_model:
    model: ai/model
```

En este ejemplo básico:

 - El servicio `app` utiliza el modelo `ai_model`.
 - El `ai_model` se define como un artefacto OCI (`ai/model`) que es descargado y servido por el ejecutor de modelos.
 - Docker Compose inyecta la información de conexión, por ejemplo `AI_MODEL_URL`, en el contenedor.

### Ejemplo 2

```yaml
services:
  app:
    image: app
    models:
      my_model:
        endpoint_var: MODEL_URL

models:
  my_model:
    model: ai/model
    context_size: 1024
    runtime_flags: 
      - "--a-flag"
      - "--another-flag=42"
```

En esta configuración avanzada:

 - El servicio `app` hace referencia a `my_model` utilizando la sintaxis larga.
 - Compose inyecta la URL del ejecutor de modelos como la variable de entorno `MODEL_URL`.

## Atributos

- `model` (obligatorio): El identificador del artefacto OCI para el modelo. Esto es lo que Compose descarga y ejecuta a través del ejecutor de modelos.
- `context_size`: Define el tamaño máximo de contexto de tokens para el modelo.
- `runtime_flags`: Una lista de flags de línea de comandos en crudo que se pasan al motor de inferencia cuando se inicia el modelo.

## Recursos adicionales

Para obtener más ejemplos e información sobre el uso de `model`, consulta [Usar modelos de IA en Compose](/ai/compose/models-and-compose/)
