Despliegue de la API REST de Decision Optimization
Puede desplegar un modelo de Decision Optimization, crear y supervisar trabajos y obtener soluciones mediante la API REST de tiempo de ejecución dewatsonx.ai.
Cree la clave de API. Cópiela o descárguela desde la ventana abierta de la clave API creada con éxito (no podrá volver a acceder a ella cuando cierre esta ventana).
Seleccione una instancia de watsonx.ai Runtime de la lista de servicios de AI/MachineMachine Learning en la vista de lista de recursosIBM Cloud.
Copie el Nombre, GUID y CRN del panel de información de su instancia de watsonx.ai Runtime. (Para abrir el panel de información, haga clic en cualquier lugar de la fila situada junto al nombre de su servicio watsonx.ai Runtime, pero no en el propio nombre. A continuación, se abre el panel de información en la misma ventana)
Seleccione un espacio de despliegue de la lista de Despliegues.
Copie el GUID del espacio de la pestaña Gestionar > General. Para obtener más información, consulte Espacios de despliegue.
Acerca de esta tarea
Copy link to section
Los siguientes pasos muestran cómo desplegar un modelo de Decision Optimization utilizando la API REST dewatsonx.ai Runtime. El ejemplo de la API REST utiliza curl, una herramienta de línea de mandatos y una biblioteca para transferir datos con la sintaxis de URL. Puede descargar curl y leer más sobre él en http://curl.haxx.se Para obtener más información sobre las API REST relevantes para Decision Optimization, consulte las secciones siguientes:
Los usuarios de Windows, deben utilizar ^ en lugar de \ como separador de varias líneas y doblar las comillas dobles en estos ejemplos de código. Los usuarios de Windows también necesitan utilizar indentación de al menos un carácter de espacio en las líneas de cabecera.
Para mayor claridad, se han colocado algunos ejemplos de código en este procedimiento en un archivo json para que los mandatos sean más legibles y más fáciles de utilizar.
Una vez creado un despliegue mediante la API REST, también puede verlo y enviarle trabajos desde la página Despliegues > Espacios de la interfaz de usuario https://dataplatform.cloud.ibm.com.
Utilice la señal obtenida (valor de access_token) antecedida por la palabra Bearer en la cabecera Authorization y watsonx.ai Runtime service GUID en la cabecera ML-Instance-ID, en todas las llamadas de API.
Opcional: Si no ha obtenido el SPACE-ID de la interfaz de usuario tal como se ha descrito anteriormente, puede crear un espacio utilizando la API REST de la forma siguiente. Utilice la señal obtenida anteriormente que precede a la palabra bearer en la cabecera Authorization en todas las llamadas de API.
Para los usuarios de Windows, ponga el mandato --data-raw en una línea y sustituya todos los " por \" dentro de este mandato como se indica a continuación:
Todas las solicitudes de API requieren un parámetro de versión que tome una fecha en el formato version=YYYY-MM-DD. Este ejemplo de código publica un modelo que utiliza el archivo create_model.json. La URL variará en función de la región/ubicación elegida para su servicio watsonx.ai Runtime. Véase URL de punto final.
La Versión de Python se declara explícitamente aquí en un bloque custom. Esto es opcional. Sin ella tu modelo utilizará la versión por defecto que actualmente es Python 3.11. Puesto que la versión predeterminada irá cambiando con el tiempo, la versión de Python explícitamente le permite cambiar fácilmente más tarde o seguir utilizando una versión admitida más antigua cuando se actualiza la versión predeterminada. Las versiones actualmente soportadas son 3.11 y 3.10 (obsoleta).
Si desea poder ejecutar trabajos para este modelo desde la interfaz de usuario, en lugar de utilizar solo la API REST, debe definir el esquema para los datos de entrada y salida. Si no define el esquema al crear el modelo, solo puede ejecutar trabajos utilizando la API REST y no desde la interfaz de usuario.
También puede utilizar el esquema especificado para entrada y salida en el modelo de optimización:
Copy to clipboardSe ha copiado en el portapapelesShow more
Cuando publique un modelo, proporcione información sobre su tipo de modelo y la especificación de software que se utilizará.
Por ejemplo, los tipos de modelos pueden ser:
do-opl_22.1 para modelos de OPL
do-cplex_22.1 para modelos CPLEX
do-cpo_22.1 para modelos CP
do-docplex_22.1 para modelos Python
La versión 20.1 también se puede utilizar para estos tipos de modelo.
Para la especificación de software, puede utilizar las especificaciones predeterminadas utilizando sus nombres do_22.1 o do_20.1. Consulte también Ampliar cuaderno de especificación de software , que muestra cómo ampliar la especificación de software Decision Optimization (tiempos de ejecución con bibliotecas Python adicionales para modelos DOcplex).
Se devuelve un MODEL-ID en el campo id en metadata.
Puede descargar este ejemplo y otros modelos de DO-samples. Seleccione la subcarpeta de producto y versión relevante.
Desplegar el modelo
Cree una referencia a su modelo. Utilice el SPACE-ID y el MODEL-ID obtenidos al crear el modelo preparado para el despliegue y la especificación de hardware. Por ejemplo:
A continuación, puede Enviar trabajos para el modelo desplegado definiendo los datos de entrada y la salida (resultados de la resolución de optimización) y el archivo de registro.
Por ejemplo, a continuación se muestra el contenido de un archivo denominado myjob.json. Contiene datos de entrada (en línea), algunos parámetros de resolución, y especifica que la salida será un archivo .csv. Para obtener más información, consulte Despliegue por lotes deDecision Optimization y ejecución de modelos.
Si suprime un trabajo utilizando la API, todavía se mostrará en la interfaz de usuario.
Opcional: puede suprimir despliegues de la forma siguiente:
Si suprime un despliegue que contiene trabajos utilizando la API, los trabajos seguirán mostrándose en el espacio de despliegue en la interfaz de usuario.
Resultados
Copy link to section
Una vez que se ha desplegado el modelo y se ha ejecutado el trabajo, los resultados de la solución se proporcionan en línea o en el archivo y la ubicación que haya especificado, por ejemplo, utilizando una referencia de S3. Podrá publicar nuevos trabajos utilizando el deployment-ID sin tener que volver a desplegar el modelo.