Desarrollar API para inferencias online: pasos previos

Autor: | Última modificación: 23 de mayo de 2023 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

En un otro post hemos visto una pequeña introducción a fastAPI por medio de un ejercicio simple en donde debía aparecernos una URL que, al hacer clic en ella, nos mostraba un mensaje de «Hello World». En este artículo vamos a ver cómo iniciar el desarrollo de una API para inferencias online.

¿Qué es una API para inferencias online?

Una API para inferencias online es una interfaz de programación de aplicaciones que permite a los desarrolladores enviar solicitudes a un modelo de machine learning para realizar predicciones en tiempo real. En términos generales, una API para inferencias online toma como entrada datos en bruto y devuelve una salida de modelo (como una clasificación o una predicción) basada en el análisis de los datos.

API para inferencias online: pasos previos

Partes de la API para inferencias online

Ahora, para la parte de la API de modelos, vamos a diferenciar tres partes:

  1. Preprocesamiento: en este primer paso, extraeremos el dato a inferir de la petición y aplicaremos el procesado necesario. Esto es cuando nos llega la petición de la fuente que sea y la limpiamos (limpiamos el texto, aplicamos preprocesado, etc.).
  2. Inferencia: realizaremos la inferencia sobre nuestro modelo.
  3. Postprocesado: una vez generada la inferencia, generamos un JSON de respuesta con el resultado de la inferencia.

Configuración del proyecto en GCP

Al realizar una API para inferencias online debemos, obligatoriamente, seguir los pasos que te mostramos a continuación:

  1. Seleccionamos o creamos un proyecto en Google Cloud Platform.
  2. Nos aseguramos de que la facturación está activada para nuestro proyecto.
  3. Habilitamos todas las API.
  4. Introducimos nuestro ID de proyecto de Google Cloud Platform en la celda de abajo. Ejecutamos la celda para asegurarnos de que el Cloud SDK usa el proyecto adecuado para todos los comandos en este notebook.

Habilitar las API

Las API que debemos habilitar para realizar el proceso de API para inferencias online son:

  • API de Google Cloud Registry:
API para inferencias online
  • API de Google Cloud Run:
Desarrollar API para inferencias online: pasos previos 1
  • Google Cloud Build:
Desarrollar API para inferencias online: pasos previos 2
  • App Engine Flexible Environment:
Desarrollar API para inferencias online: pasos previos 3
  • App Engine Admin:
Desarrollar API para inferencias online: pasos previos 4

En cada una de ellas debemos darle al botón «Enable» y no debemos cerrar la pestaña hasta que la API esté instalada por completo.

Autenticación

Lo primero que haremos es poner nuestro identificador del proyecto y ejecutamos:

#API para inferencias online
PROJECT_ID = "bootcamp - preparation - ix" #@param {type: "string"}
! gcloud config set project $PROJECT_ID
Desarrollar API para inferencias online: pasos previos 5

Acto seguido, inicializamos nuestras credenciales:

#API para inferencias online
import sys

#If you are running this notebook in Colab, run this cell and follow the instructions to authenticate your GCP account. This provides access to your Cloud Storage bucket and lets you submit training jobs and prediction requests.

if 'google.colab' in sys.modules:
    google.colab import auth as google_auth
    google_auth.authenticate_user ()

#If you are running this notebook locally, replace the string below with the path to your service account key and run this cell to authenticate your GCP account.
else:
      %env GOOGLE_APPLICATION_CREDENTIALS ' ' 

Nos van a preguntar si queremos que el cuaderno acceda a nuestras credenciales de Google:

Desarrollar API para inferencias online: pasos previos 6

Le damos a «Permitir». Ahora, saldrá una ventana emergente, en la que debemos registrarnos con nuestra cuenta de Google y dar los permisos correspondientes:

Desarrollar API para inferencias online: pasos previos 7

Creación del bucket

El siguiente paso sería la creación del bucket en Cloud Storage, que ya vimos cómo generar en un post anterior. No repetiremos este ejercicio, simplemente estableceremos el nombre:

#API para inferencias online
BUCKET_NAME = "classes - bootcamp - ix" #@param {type: "string"}
REGION = "europe - west1" #@param {type: "string"}
Desarrollar API para inferencias online: pasos previos 8

Ahora ejecutamos las variables.

Solo si tu bucket aun no existe: ejecuta la siguiente celda para crear tu bucket en Cloud Storage:

#API para inferencias online
! gsutil mb -1 $REGION gs: //$BUCKET_NAME

Finalmente, validamos que tenemos acceso al bucket de Cloud Storage mirando su contenido:

#API para inferencias online
! gsutil ls -al gs: //$BUCKET_NAME
Desarrollar API para inferencias online: pasos previos 9

Si ejecutamos esta última, aquí ya nos sale que hemos instalado la carpeta de batch, lo cual corrobora que todo está correcto.

Los siguientes pasos serán descargar la plantilla de código, instalar las dependencias y desarrollar el microservicio de API para inferencias online.

¿Qué sigue?

Si quieres seguir formándote en alguna de las numerosas temáticas del mundo del Big Data, en KeepCoding contarás con la guía de grandes expertos a través de la teoría y la práctica para que, en pocos meses, te conviertas en un gran profesional IT. Échale un ojo al Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp y descubre esta formación intensiva e íntegra que catapultará tu carrera. ¡Solicita ahora mismo más información y da el salto que transformará tu futuro!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado