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
- Una cuenta de Cloudflare con Workers y Workers AI activos.
- Node.js instalado
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
- 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).
- Navega al directorio de la aplicación:
cd worker-llama-instruct
- 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"
}
...
}
Despliegue
Corre el siguiente comando para desplegar el worker:
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.
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!
Sin correo no deseado, sin compartir con terceros. Solo tú y yo.
Discusión de miembros