Peticiones GET y POST para AI

Implementación de IA en producción con FastAPI

Matt Eckerle

Software and Data Engineering Leader

Nuestro instructor

 

Matt Eckerle

 

 

Matt Eckerle

  • Líder en software e ingeniería de datos
  • Enterprise Data Manager en Inari
  • Usa FastAPI para ML desde 2019
Implementación de IA en producción con FastAPI

Descripción del curso

 

 

  • Fundamentos de FastAPI
  • Gestión de peticiones e integración
  • Validación de entrada y seguridad
  • Crear y mantener APIs listas para producción

 

 

Logo de FastAPI

Implementación de IA en producción con FastAPI

Antes de empezar

✓ Python básico: funciones, clases, módulos, estructuras de datos

Logo de Python

Implementación de IA en producción con FastAPI

Antes de empezar

✓ Python básico: funciones, clases, módulos, estructuras de datos

✓ Conceptos de HTTP y REST API

Logos de Python y http

Implementación de IA en producción con FastAPI

Antes de empezar

✓ Python básico: funciones, clases, módulos, estructuras de datos

✓ Conceptos de HTTP y REST API

✓ Uso del framework FastAPI

  • Gestionar peticiones GET y POST
  • Usar modelos de Pydantic

✓ Fundamentos de Machine Learning

Logos de Python, http y FastAPI

Implementación de IA en producción con FastAPI

Peticiones GET explicadas

  • Para recuperar datos
  • Parámetro de ruta: info en la URL
  • No cambia el estado del servidor

Un menú

GET https://example.com/?item_id=1

Diagrama para entender peticiones GET

Implementación de IA en producción con FastAPI

Implementar GET con parámetros de ruta

from fastapi import FastAPI

app = FastAPI()

@app.get("/item/{item_id}")
async def read_item(item_id: int):
    return {"item_id": item_id}
  • El decorador `@app.get` define el endpoint.
  • {item_id} es un parámetro de ruta.
  • Anotación de tipo (int) para validación automática.
Implementación de IA en producción con FastAPI

Peticiones POST explicadas

  • Para enviar datos al servidor
  • Datos en el cuerpo (normalmente JSON)
  • Puede cambiar el estado del servidor

Un pedido en un restaurante

POST https://example.com

Diagrama para entender peticiones POST

Implementación de IA en producción con FastAPI

Implementar POST con datos JSON

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()
db = {}

class Item(BaseModel): name: str price: float
@app.post("/items", status_code=201)
def create_item(item: Item): db[item.name] = item.model_dump() return {"message": f"Created {item.name}"}

 

  • El modelo Pydantic define la estructura de datos
  • @app.post para el endpoint POST
  • Análisis y validación JSON automáticos
Implementación de IA en producción con FastAPI

Códigos de estado HTTP

 

  • 200 OK: éxito por defecto
  • 404 Not Found: recurso no encontrado
  • 201 Created: objeto creado

Un código de estado HTTP 200 que indica una petición correcta

Implementación de IA en producción con FastAPI

Lanzar excepciones HTTP

from fastapi import FastAPI, HTTPException
app = FastAPI()

@app.get("/item/{item_id}")
async def read_item(item_id: int):
    if item_id == 4242: #An invalid order number
        raise HTTPException(status_code=404, detail="Item not found")
    return {"item_id": item_id}

@app.post("/items") async def create_item(item: Item): # Simulating item creation return {"message": f"Created {item.name}"}, 201
Implementación de IA en producción con FastAPI

¡Vamos a practicar!

Implementación de IA en producción con FastAPI

Preparing Video For Download...