Cree un despliegue en línea para modelos de aprendizaje automático, soluciones de Decision Optimization o funciones Python para generar predicciones o resultados en tiempo real. Por ejemplo, cree un despliegue en línea para un modelo de clasificación entrenado para predecir si un cliente de banco se inscribe en una promoción. El envío de nuevos datos de cliente al punto final de despliegue devuelve una predicción en tiempo real.
Tipos de activos desplegables para despliegues en línea
Puede crear despliegues en línea para estos tipos de activos:
- Functions
- Modelos
- Modelos deAutoAI
- Modelos de optimización de decisiones
- Modelos de aprendizaje federado
- Modelos que se importan desde un archivo
- Modelos creados con infraestructuras soportadas
- Modelos deSPSS Modeler
No puede implementar activos de la aplicación R Shiny en Cloud Pak for Data as a Service.
Formas de crear un despliegue en línea
Puede crear un despliegue en línea de una de estas maneras:
- Utilice un enfoque sin código para Crear un despliegue en línea desde un espacio de despliegue.
- Utilice código para Crear un despliegue en línea mediante programación utilizando cuadernos.
Después de crear un despliegue en línea, se genera un URL de punto final. Puede utilizar el URL de punto final para probar el despliegue o para incluir el despliegue en las aplicaciones.
Antes de empezar
Debe configurar sus credenciales de tarea generando una clave API. Para obtener más información, consulte Gestión de credenciales de tareas.
Creación de un despliegue en línea desde un espacio de despliegue
Siga estos pasos para crear el despliegue en línea desde un espacio de despliegue:
Promocione o añada el activo que desea desplegar a un espacio. Para obtener más información, consulte Activos en un espacio de despliegue.
En la página Activos, pulse Desplegar en el menú de acciones.
En la página de detalles de despliegue, pulse Nuevo despliegue.
Elija En línea como tipo de despliegue.
Proporcione un nombre y una descripción opcional para el despliegue.
Utilice el campo Nombre de servicio para especificar un nombre para el despliegue en lugar del ID de despliegue.
Nota:- El nombre de servicio debe ser distintivo dentro del espacio de nombres.
- El nombre de servicio sólo debe contener estos caracteres: [a-z,0-9, _] y debe tener una longitud máxima de 36 caracteres.
- El nombre de servicio sólo funciona como parte del URL de predicción. En algún momento, es posible que tenga que utilizar el ID de despliegue.
Opcional: Seleccione una especificación de hardware si está desplegando funciones Python , modelos Tensorflow o modelos con especificaciones de software personalizadas. Por ejemplo, si está escalando un despliegue, es posible que desee aumentar los recursos de hardware.
Restricción:No puede crear o seleccionar especificaciones de hardware personalizadas desde la interfaz de usuario en un espacio de despliegue. Para obtener más información sobre cómo crear y seleccionar una especificación de hardware, consulte Gestión de especificaciones de hardware para despliegues.
Opcional: Seleccione una especificación de software que sea compatible con el activo. Puede seleccionar especificaciones de software sólo para funciones.
Pulse Crear para crear el despliegue.
Prueba de un despliegue en línea
Siga estos pasos para probar el despliegue en línea:
- En el separador Despliegues del espacio, pulse el nombre del despliegue.
- Pulse la pestaña Probar para especificar datos y obtener una predicción u otra respuesta del activo desplegado.
La forma en que proporcione datos de prueba para un despliegue en línea depende del tipo de activo que haya desplegado. Para la mayoría de los activos, puede especificar directamente datos de prueba en un formulario, cargar un archivo que contenga datos de prueba o pegar los datos de prueba como código JSON. Por ejemplo, a continuación se muestra la interfaz de prueba para un modelo de clasificación:
Para proporcionar datos de prueba:
- Si el modelo desplegado tiene un esquema definido, los datos de prueba deben utilizar el mismo esquema. Por ejemplo, para un modelo de clasificación, especifique datos de prueba utilizando las mismas columnas, omitiendo la columna de predicción.
Código JSON de ejemplo para probar un despliegue
Al enviar código JSON como carga útil, o datos de entrada, para un despliegue, los datos de entrada deben coincidir con los requisitos del activo desplegado.
Por ejemplo, para un modelo con un esquema, el fields
debe coincidir con las cabeceras de columna para los datos y el values
debe contener los datos (en el mismo orden). Utilice este formato:
{"input_data":[{
"fields": [<field1>, <field2>, ...],
"values": [[<value1>, <value2>, ...]]
}]}
Consulte este ejemplo:
{"input_data":[{
"fields": ["PassengerId","Pclass","Name","Sex","Age","SibSp","Parch","Ticket","Fare","Cabin","Embarked"],
"values": [[1,3,"Braund, Mr. Owen Harris",0,22,1,0,"A/5 21171",7.25,null,"S"]]
}]}
Para dar formato a la entrada JSON:
- Todas las series están entre comillas dobles. La notación Python para diccionarios es similar, pero las series Python entre comillas simples no se aceptan en los datos JSON.
- Indique los valores perdidos con
null
.
Recuperación del punto final para un despliegue en línea
Siga estos pasos para recuperar el URL de punto final para el despliegue en línea para que pueda acceder al despliegue desde las aplicaciones:
- En el separador Despliegues del espacio, pulse el nombre del despliegue.
- En el separador Referencia de API , busque los enlaces de punto final privado y público. También puede encontrar fragmentos de código en varios lenguajes de programación como Python, Java, y más para incluir los detalles de punto final en una aplicación.
Si ha añadido Nombre de servicio al crear el despliegue en línea, verá dos URL de punto final. El primer URL contiene el ID de despliegue y el segundo URL contiene el nombre de servicio. Puede utilizar cualquiera de estos URL con el despliegue.
Acceso a los detalles de despliegue en línea
Siga estos pasos para revisar o actualizar los detalles de despliegue:
- En el separador Despliegues del espacio, pulse un nombre de despliegue.
- Pulse el separador Detalles de despliegue para acceder a la información relacionada con el despliegue en línea.
Creación de un despliegue en línea mediante programación utilizando cuadernos
Puede crear un despliegue en línea mediante programación utilizando:
- aPI REST en tiempo de ejecución de watsonx.ai.
- watsonx Python Python.
Para acceder a cuadernos de ejemplo que demuestran cómo crear y gestionar implementaciones mediante el cliente watsonx.ai Runtime Python, consulte Ejemplos y ejemplos de aprendizaje automático.
Prueba programática del despliegue en línea
Para probar el despliegue en línea mediante programación, debe preparar una carga útil que coincida con el esquema de los requisitos de modelo existentes del activo desplegado. Por ejemplo, los datos de entrada (carga útil) para un modelo de clasificación deben coincidir con el esquema del modelo desplegado. El ejemplo siguiente para un modelo de clasificación proporciona datos de prueba con columnas y valores que coinciden exactamente con el esquema del modelo:
model_details = client.repository.get_details("<model_id>") # retrieves details and includes schema
columns_in_schema = []
for i in range(0, len(model_details['entity']['schemas']['input'][0].get('fields'))):
columns_in_schema.append(model_details['entity']['schemas']['input'][0].get('fields')[i]['name'])
X = X[columns_in_schema] # where X is a pandas dataframe that contains values to be scored
#(...)
scoring_values = X.values.tolist()
array_of_input_fields = X.columns.tolist()
payload_scoring = {"input_data": [{"fields": [array_of_input_fields],"values": scoring_values}]}
Recuperación del punto final para un despliegue en línea mediante programación
Para recuperar el URL de punto final del despliegue en línea de un cuaderno:
- Enumera los despliegues llamando al método clientePython '
client.deployments.list()
. - Busque la fila con el despliegue. El URL de punto final de despliegue se lista en la columna
url
.
Más información
Para aprender a crear un despliegue por lotes, consulte Creación de un despliegue por lotes.
Para obtener información sobre cómo gestionar trabajos de despliegue y actualizar, escalar o suprimir un despliegue en línea, consulte Gestión de activos.
Para obtener más información sobre los puntos finales de despliegue, consulte URL de puntos finales.
Tema padre: Gestión de despliegues predictivos