0Pricing
Learn AI with Python · Lección

Fundamentos de FastAPI para ingenieros de ML

Aplicación FastAPI, endpoints GET/POST, parámetros de ruta y consulta, y async def frente a def para inferencia de ML.

Fundamentos de FastAPI para ingenieros de ML es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Por qué FastAPI para ML?

FastAPI es un framework web moderno de Python, ideal para servir modelos: es rápido, genera documentación interactiva automáticamente y valida las solicitudes mediante anotaciones de tipos. Se ha convertido en la forma predeterminada de envolver un modelo detrás de una API HTTP.

Crear la aplicación

Instancie una aplicación de FastAPI; este objeto app contiene todas sus rutas.

from fastapi import FastAPI

app = FastAPI(title="Model Serving API")

Un endpoint GET /health

Una comprobación de estado permite que los balanceadores de carga y los orquestadores confirmen que el servicio está activo. Devuelve un estado sencillo sin realizar tareas costosas.

@app.get("/health")
def health():
    return {"status": "ok"}

Un endpoint POST /predict

Las predicciones requieren datos de entrada, por lo que utilizan POST con un cuerpo de solicitud. La función recibe la carga útil analizada y devuelve el resultado del modelo.

@app.post("/predict")
def predict(features: list[float]):
    result = model.predict([features])
    return {"prediction": result[0]}

GET frente a POST

  • GET: recupera datos, no tiene cuerpo y se utiliza para comprobaciones de estado y lecturas sencillas.
  • POST: envía datos en el cuerpo y se utiliza para predicciones en las que se presentan características.

Ejecutar con uvicorn

uvicorn es el servidor ASGI que ejecuta FastAPI. Puede iniciarlo desde el código o desde la línea de comandos.

import uvicorn

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

Iniciar desde la línea de comandos

Lo más habitual es iniciarlo mediante la CLI, indicando el módulo y el objeto de la aplicación a uvicorn. --reload reinicia automáticamente el servidor cuando se producen cambios en el código durante el desarrollo.

# terminal
uvicorn main:app --host 0.0.0.0 --port 8000 --reload

Documentación interactiva incluida

FastAPI genera automáticamente Swagger UI en /docs y ReDoc en /redoc a partir de las anotaciones de tipos, por lo que puede probar los endpoints en el navegador sin escribir código adicional.

async def para tareas limitadas por E/S

Utilice async def en los endpoints que esperan operaciones de E/S (bases de datos, API externas o lecturas de archivos). La asincronía permite que el servidor gestione otras solicitudes mientras espera, lo que mejora el rendimiento.

@app.get("/external")
async def fetch():
    data = await call_remote_service()
    return data

sync def para inferencias limitadas por CPU

El modelo predict suele estar limitado por CPU. Defina esos endpoints con un sync def normal; FastAPI los ejecuta en un grupo de hilos para que no bloqueen el bucle de eventos. Usar async en tareas con un uso intensivo de la CPU en realidad congelaría el servidor.

@app.post("/predict")
def predict(features: list[float]):
    # CPU-bound inference -> sync def
    return {"prediction": model.predict([features])[0]}

Elegir entre async y sync

  • async def: tareas limitadas por E/S, espera a operaciones de red o disco.
  • sync def: inferencia del modelo limitada por CPU, se ejecuta en un grupo de hilos.

Elegir la opción adecuada mantiene el servidor receptivo bajo carga.

Comprobación rápida

Compruebe sus conocimientos básicos de FastAPI.

Resumen

Creó un servicio de FastAPI: creó app, añadió GET /health y POST /predict, lo ejecutó con uvicorn y aprendió a utilizar async def para tareas limitadas por E/S y sync def para inferencias limitadas por CPU. Siguiente tema: esquemas de solicitud y respuesta con Pydantic.

Preguntas frecuentes

¿La lección «Fundamentos de FastAPI para ingenieros de ML» es gratis?

Sí — el texto completo de «Fundamentos de FastAPI para ingenieros de ML» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué aprenderé en «Fundamentos de FastAPI para ingenieros de ML»?

Aplicación FastAPI, endpoints GET/POST, parámetros de ruta y consulta, y async def frente a def para inferencia de ML. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn AI with Python?

No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Fundamentos de FastAPI para ingenieros de ML»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?

Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Fundamentos de FastAPI para ingenieros de ML
  2. Esquemas de Pydantic para solicitudes y respuestas
  3. Carga y servicio de modelos de ML
  4. Dockerización de la API del modelo
← Volver a Learn AI with Python