El otro lado de la innovación.

Domina Cloudflare Serverless: crea un Worker con IA en 5 minutos

Guía Definitiva para desplegar un Worker con IA en Cloudflare. ¡Lleva tu desarrollo al siguiente nivel!
Domina Cloudflare Serverless: crea un Worker con IA en 5 minutos

Serverless

La mayoría del tiempo, cuando queremos llevar un proyecto a producción, pensamos en un servidor, una máquina virtual que alquilamos, configuramos y dejamos corriendo las 24 horas del día, sin importar si hay tráfico o no. Es como tener una pizzería abierta todo el día, incluso en plena madrugada cuando no hay clientes. Con serverless, todo cambia.

En lugar de mantener un servidor encendido constantemente, subes tu código a la nube y éste se activa solo cuando alguien hace una solicitud. Es como si la pizzería abriera solo cuando llega un pedido.

Pagas por lo que usas

Imagina que tienes un carrito de helados que cuesta $50 al mes, sin importar si vendes uno o cero helados. ¡Una locura!. Serverless cambia este paradigma. Cada vez que alguien usa tu aplicación, se cuenta como una invocación, y solo pagas por esa acción. Por ejemplo, Cloudflare te ofrece 100,000 solicitudes gratuitas al día. Y si, por alguna razón, tu sitio se vuelve viral, cada millón de solicitudes extra te costará apenas $0.50. Es decir, pagas tan solo por lo que realmente usas. Así, en lugar de malgastar dinero en servidores que trabajan las 24 horas, pagas justo lo necesario y, además, escalas sin preocupaciones. ¿No te parece una ganga?

¿Por qué Cloudflare?

Para algunos proveedores de nube, cuando llega una solicitud y se necesita crear una nueva instancia de tu aplicación serverless, el proceso puede ser lento (incluso superar los 500 milisegundos) porque deben cargar el código en memoria. Sin embargo, con Cloudflare esto no es un problema, ya que su plataforma, diseñada exclusivamente para serverless, carga el código durante el TLS handshake —ese momento en que el navegador envía un “hola” al servidor— asegurando que el código esté listo cuando la conexión se establece, eliminando así la espera.

Por otro lado, Cloudflare ha llevado la idea del serverless al siguiente nivel: integrar capacidades de inteligencia artificial a través de Workers AI, ofreciendo acceso a más de 50 modelos de código abierto. Esto y más forma parte de una plataforma de desarrollo completa y robusta que te brinda todo lo necesario para transformar tus ideas en soluciones innovadoras y eficientes.

En este artículo, exploraremos un ejemplo práctico orientado a la IA, analizaremos cómo Cloudflare factura su uso y veremos por qué el plan gratuito te abre la puerta para crear productos asombrosos.

El ejemplo

Requisitos

  1. Una cuenta de Cloudflare con Workers y Workers AI activos.
  2. Node.js instalado
ℹ️
Para nuestro ejemplo, crearemos una función —worker— que reciba un prompt del usuario a través de HTTPS, lo envíe a un modelo de IA —worker AI con el modelo@cf/meta/llama-3.2-1b-instruct— y retorne la respuesta generada.

Primeros pasos

Vamos a crear un nuevo proyecto Worker a través del CLI. Esta herramienta simplifica la configuración y el despliegue de nuevas aplicaciones en Cloudflare.

npm create cloudflare@latest -- worker-llama-instruct
  1. Para la configuración, selecciona las siguientes opciones:
  • Para “What would you like to start with?”, elige el ejemplo Hello World.
  • Para “Which template would you like to use?”, selecciona Hello World Worker.
  • Para “Which language do you want to use?”, opta por TypeScript.
  • Para “Do you want to use git for version control?”, elige Yes.
  • Para “Do you want to deploy your application?”, selecciona No (ya que haremos algunos cambios antes de desplegar).
  1. Navega al directorio de la aplicación:
cd worker-llama-instruct
  1. El directorio worker-llama-instruct incluirá:
  • Un Worker básico ubicado en src/index.ts.
  • Un archivo de configuración wrangler.jsonc para gestionar los ajustes de despliegue.

El código

Edita el archivo src/index.ts y remplaza su contenido por el siguiente código:

export interface Env {
	AI: Ai;
}

export default {
	async fetch(request, env): Promise<Response> {
		const { prompt }: any = await request.json();
		const messages = [{ role: 'user', content: prompt }];

		const response = await env.AI.run('@cf/meta/llama-3.2-1b-instruct', {
			messages,
		});

		return Response.json(response);
	},
} satisfies ExportedHandler<Env>;

Bindings

En el archivo de configuración de Wrangler wrangler.jsonc agrega la siguiente configuración:

{
  ...
  "ai": {
     "binding": "AI"
  }
  ...
}
ℹ️
Un binding es básicamente una forma de conectar recursos externos (bases de datos, colas, cache, servicios de IA, etc) directamente a tu código. Es como darle a tu aplicación una llave que le permite acceder a esos servicios sin tener que preocuparte por las complicaciones de conectarlos manualmente. 

Despliegue

Corre el siguiente comando para desplegar el worker:

💡
Puedes probarlo localmente con el comando: npm run dev
npm run deploy

Prueba

Después del despliegue, recibirás una URL única para tu Worker (por ejemplo, https://worker-llama-instruct.<su_sub_dominio>.workers.dev). Utiliza una herramienta como cURL o Postman para enviar una solicitud HTTP a tu Worker:

curl -X POST https://worker-llama-instruct.<su_sub_dominio>.workers.dev \
  -d '{ "prompt": "¿Cuál es el planeta más pequeño de nuestro sistema solar?" }'

Esto debería responder algo como:

{"response":"El planeta más pequeño de nuestro sistema solar es Mercurio.","usage":{"prompt_tokens":26,"completion_tokens":16,"total_tokens":42}}

Facturación de Workers AI

Cloudflare introduce un concepto innovador para medir el consumo de sus modelos de IA: las neuronas. Estas representan unidades de procesamiento que se utilizan cada vez que invocas un modelo de IA a través de Workers AI.

ℹ️
Cloudflare pone a nuestra disposición 10,000 Neuronas al día sin costo alguno. Si deseas utilizar más de 10,000 Neuronas diarias, deberás suscribirte al plan de Workers de pago. En este plan, se te cobrará $0.011 por cada 1,000 Neuronas utilizadas por encima de la asignación gratuita. Échale un ojo al consumo de neuronas por modelos.

Métricas de consumo

Cada solicitud que envías al modelo consume un número determinado de neuronas en función de la complejidad del procesamiento requerido. Esto permite una medición precisa y escalable del uso de recursos.

Facturación transparente

La facturación se basa en el número de neuronas consumidos, lo que significa que solo pagas por lo que realmente usas. Además, Cloudflare ofrece una capa gratuita muy generosa que permite a cualquier desarrollador experimentar sin costo inicial. Puedes consultar todos los detalles en la página de precios de Workers AI.

Esta estructura de facturación hace que el desarrollo de aplicaciones con IA sea accesible para todos, desde aficionados hasta grandes empresas, permitiendo iterar y escalar sin complicaciones.

Conclusión

Cloudflare nos abre un mundo de posibilidades con su plataforma serverless y Workers AI, permitiéndote transformar ideas en soluciones innovadoras sin complicaciones. Desde desplegar aplicaciones al instante hasta pagar solo por lo que realmente usas, esta tecnología te ofrece eficiencia, escalabilidad y una experiencia de desarrollo única. Te invito a seguir profundizando en estos conceptos y a explorar más productos de Cloudflare para potenciar tus proyectos.

¡Deja tu opinión!

Suscríbete a mi boletín mensual

Sin correo no deseado, sin compartir con terceros. Solo tú y yo.

Discusión de miembros