

# Implementar un modelo personalizado para inferencia bajo demanda
<a name="deploy-custom-model"></a>

Una vez que haya creado correctamente un modelo personalizado con un trabajo de personalización del modelo (afinación, síntesis o entrenamiento previo continuo), podrá configurar la inferencia bajo demanda para el modelo.

Para configurar la inferencia bajo demanda para un modelo personalizado, debe implementarlo con una implementación de modelo personalizado. Tras implementar el modelo personalizado, utiliza el nombre de recurso de Amazon (ARN) de la implementación como el parámetro de `modelId` en sus operaciones de `InvokeModel` o en las de la API de `Converse`. Puede usar el modelo implementado para realizar inferencias bajo demanda con características de Amazon Bedrock, como áreas de juego, agentes y bases de conocimiento. 

**Topics**
+ [Modelos compatibles](#custom-model-inference-supported-models)
+ [Implementar un modelo personalizado](deploying-custom-model.md)
+ [Utilice una implementación para realizar inferencias bajo demanda](use-custom-model-on-demand.md)
+ [Eliminar una implementación de un modelo](delete-custom-model-deployment.md)

## Modelos compatibles
<a name="custom-model-inference-supported-models"></a>

Puede configurar la inferencia bajo demanda para los siguientes modelos:
+ Amazon Nova Canvas
+ Amazon Nova Lite
+ Amazon Nova Micro
+ Amazon Nova Pro

# Implementar un modelo personalizado
<a name="deploying-custom-model"></a>

Puede implementar un modelo personalizado con la consola de Amazon Bedrock, la AWS Command Line Interface o SDK de AWS. Para obtener información sobre el uso de la implementación para la inferencia, consulte Usar una implementación para la inferencia bajo demanda. 

**Topics**
+ [Implementación de un modelo personalizado (consola)](#deploy-custom-model-console)
+ [Implementar un modelo personalizado (AWS Command Line Interface)](#deploy-custom-model-cli)
+ [Implemente un modelo personalizado (SDK de AWS)](#deploy-custom-model-sdk)

## Implementación de un modelo personalizado (consola)
<a name="deploy-custom-model-console"></a>

Puede implementar un modelo personalizado en la página **Modelos personalizados** de la siguiente manera. También puede implementar un modelo en la página **Modelos personalizados bajo demanda** con los mismos campos. Para encontrar esta página, en **Inferencia y evaluación**, en el panel de navegación, seleccione **Modelo personalizado bajo demanda**.

**Para implementar un modelo**

1. Inicie sesión en la Consola de administración de AWS con un [rol de IAM con los permisos de Amazon Bedrock](https://docs.aws.amazon.com//bedrock/latest/userguide/getting-started.html) y abra la consola de Amazon Bedrock en [https://console.aws.amazon.com/nova/](https://console.aws.amazon.com/nova/).

1. En el panel de navegación de la izquierda, seleccione **Modelos personalizados** en **Modelos fundacionales**.

1. En la pestaña **Modelos**, elija el botón de opción correspondiente al modelo que desea implementar.

1. Elija **Configurar inferencia** y seleccione **Implementar bajo demanda**.

1. En **Detalles de la implementación**, indique la siguiente información.
   + **Nombre de la implementación** (obligatorio): introduzca un nombre único para la implementación.
   + **Descripción** (opcional): ingrese una descripción para la implementación.
   + **Etiquetas** (opcional): agregue etiquetas para la asignación de costos y la administración de recursos.

1. Seleccione **Crear**. Cuando se muestre el estado `Completed`, el modelo personalizado estará listo para la inferencia bajo demanda. Para obtener más información sobre el uso del modelo personalizado, consulte [Usar una implementación para una inferencia bajo demanda](https://docs.aws.amazon.com/bedrock/latest/userguide/use-custom-model-on-demand.html).

## Implementar un modelo personalizado (AWS Command Line Interface)
<a name="deploy-custom-model-cli"></a>

Para implementar un modelo personalizado para la inferencia bajo demanda mediante la AWS Command Line Interface, utilice el comando `create-custom-model-deployment` con el nombre de recurso de Amazon (ARN) del modelo personalizado. Este comando usa la operación de la API de [CreateCustomModelDeployment](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateCustomModelDeployment.html). Devuelve el ARN de la implementación que puede usar como el `modelId` al realizar solicitudes de inferencia. Para obtener información sobre el uso de la implementación para la inferencia, consulte Usar una implementación para la inferencia bajo demanda.

```
aws bedrock create-custom-model-deployment \
--model-deployment-name "Unique name" \
--model-arn "Custom Model ARN" \
--description "Deployment description" \
--tags '[
    {
        "key": "Environment",
        "value": "Production"
    },
    {
        "key": "Team",
        "value": "ML-Engineering"
    },
    {
        "key": "Project",
        "value": "CustomerSupport"
    }
]' \
--client-request-token "unique-deployment-token" \
--region region
```

## Implemente un modelo personalizado (SDK de AWS)
<a name="deploy-custom-model-sdk"></a>

Para implementar un modelo personalizado para la inferencia bajo demanda, utilice la operación de API de [CreateCustomModelDeployment](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateCustomModelDeployment.html) con el nombre de recurso de Amazon (ARN) del modelo personalizado. La respuesta devuelve el ARN de la implementación que puede usar como el `modelId` al realizar solicitudes de inferencia. Para obtener información sobre el uso de la implementación para la inferencia, consulte [Usar una implementación para la inferencia bajo demanda](https://docs.aws.amazon.com/bedrock/latest/userguide/use-custom-model-on-demand.html).

El código siguiente muestra cómo utilizar el SDK para Python (Boto3) para implementar un modelo personalizado. 

```
def create_custom_model_deployment(bedrock_client):
    """Create a custom model deployment
    Args:
        bedrock_client: A boto3 Bedrock client for making API calls
 
    Returns:
        str: The ARN of the created custom model deployment
 
    Raises:
        Exception: If there is an error creating the deployment
    """
 
    try:
        response = bedrock_client.create_custom_model_deployment(
            modelDeploymentName="Unique deployment name",
            modelArn="Custom Model ARN",
            description="Deployment description",
            tags=[
                {'key': 'Environment', 'value': 'Production'},
                {'key': 'Team', 'value': 'ML-Engineering'},
                {'key': 'Project', 'value': 'CustomerSupport'}
            ],
            clientRequestToken=f"deployment-{uuid.uuid4()}"
        )
 
        deployment_arn = response['customModelDeploymentArn']
        print(f"Deployment created: {deployment_arn}")
        return deployment_arn
 
    except Exception as e:
        print(f"Error creating deployment: {str(e)}")
        raise
```

# Utilice una implementación para realizar inferencias bajo demanda
<a name="use-custom-model-on-demand"></a>

Después de implementar su modelo personalizado para la inferencia bajo demanda, puede usarlo para generar respuestas mediante solicitudes de inferencia. Para operaciones de `InvokeModel` o de `Converse`, utilice la implementación del nombre de recurso de Amazon (ARN) como el `modelId`.

Para obtener información sobre cómo realizar solicitudes de inferencia, consulte los siguientes temas:
+ [Envío de solicitudes y generación de respuestas con inferencia de modelos](https://docs.aws.amazon.com/bedrock/latest/userguide/inference.html)
+ [Requisitos previos para ejecutar la inferencia de modelos](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-prereq.html)
+ [Envío de solicitudes y generación de respuestas mediante la API](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-api.html)

# Eliminar una implementación de un modelo
<a name="delete-custom-model-deployment"></a>

Una vez que haya terminado de usar su modelo para la inferencia bajo demanda, puede eliminar la implementación Después de eliminar la implementación, no podrá usarla para la inferencia bajo demanda, pero esta acción no eliminará el modelo personalizado subyacente.

Puede eliminar una implementación de modelo personalizada con la consola de Amazon Bedrock, la AWS Command Line Interface o los SDK de AWS.

**importante**  
La eliminación de una implementación de modelo personalizado es irreversible. Asegúrese de que ya no necesita la implementación antes de proceder a la eliminación. Si necesita volver a utilizar el modelo personalizado para la inferencia bajo demanda, debe crear una nueva implementación.

**Topics**
+ [Eliminar una implementación de modelo personalizado (consola)](#delete-deployment-console)
+ [Eliminación de la implementación de un modelo (AWS Command Line Interface)](#delete-deployment-cli)
+ [Eliminar una implementación de modelo personalizado (SDK de AWS)](#delete-deployment-sdk)

## Eliminar una implementación de modelo personalizado (consola)
<a name="delete-deployment-console"></a>

**Para eliminar una implementación de un modelo personalizado**

1. En el panel de navegación, en **Inferencia y evaluación**, elija **Modelo personalizado bajo demanda**.

1. Elija la implementación de modelo personalizado que desea eliminar.

1. Elija **Eliminar**.

1. En el cuadro de diálogo de confirmación, introduzca el nombre de la implementación para confirmar la eliminación.

1. Elija **Eliminar** para confirmar.

El estado de la implementación cambiará a `Deleting` mientras la eliminación esté en curso. Una vez finalizada, la implementación se eliminará de la lista.

## Eliminación de la implementación de un modelo (AWS Command Line Interface)
<a name="delete-deployment-cli"></a>

Para eliminar una implementación de modelo personalizado mediante la AWS Command Line Interface, utilice el comando de `delete-custom-model-deployment` con su identificador de implementación.

```
aws bedrock delete-custom-model-deployment \
--custom-model-deployment-identifier "deployment-arn-or-name" \
--region region
```

## Eliminar una implementación de modelo personalizado (SDK de AWS)
<a name="delete-deployment-sdk"></a>

Para eliminar una implementación de modelo personalizada mediante programación, utilice la operación de API de [DeleteCustomModelDeployment](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_DeleteCustomModelDeployment.html) con el nombre de recurso de Amazon (ARN) o el nombre de la implementación. El siguiente código muestra cómo utilizar el SDK para Python (Boto3) para eliminar la implementación de un modelo personalizado. 

```
def delete_custom_model_deployment(bedrock_client):
    """Delete a custom model deployment
 
    Args:
        bedrock_client: A boto3 Bedrock client for making API calls
 
    Returns:
        dict: The response from the delete operation
 
    Raises:
        Exception: If there is an error deleting the deployment
    """
 
    try:
        response = bedrock_client.delete_custom_model_deployment(
            customModelDeploymentIdentifier="Deployment identifier"
        )
 
        print(f"Deployment deletion initiated")
        return response
 
    except Exception as e:
        print(f"Error deleting deployment: {str(e)}")
        raise
```