effidevFlutter · Edge de Cloudflare · Optimización de costes en la nube
Español

Function Calling y Chatbots Serverless con Cloudflare Workers AI y Llama 3.3/Qwen

Function Calling Serverless con Cloudflare Workers AI y Llama 3.3/Qwen

Las aplicaciones modernas de IA requieren Function Calling (Llamada a herramientas) para interactuar con APIs externas y bases de datos D1.

Cloudflare Workers AI ofrece soporte nativo para Function Calling ejecutando modelos como Llama 3.3 70B y Qwen 2.5 72B directamente en el Edge sin necesidad de gestionar servidores con GPU.

En este artículo se muestra cómo estructurar herramientas con JSON Schema y construir un ciclo de agente en TypeScript.

Resumen Clave

  • Inferencia IA Serverless: Llama 3.3 y Qwen 2.5 en los PoPs del Edge con env.AI.run().
  • Soporte Nativo: El modelo devuelve la función a ejecutar y sus parámetros formateados en JSON.
  • Ahorro de Costos: Hasta un 80% más económico en comparación con APIs propietarias.

Ejemplo de Código en TypeScript

export interface Env {
  AI: Ai;
  DB: D1Database;
}

const tools = [
  {
    name: "get_weather",
    description: "Obtener el clima de una ciudad.",
    parameters: {
      type: "object",
      properties: {
        location: { type: "string" },
      },
      required: ["location"],
    },
  },
];

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

    let response = await env.AI.run(
      "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
      { messages, tools }
    );

    if (response.tool_calls?.length > 0) {
      for (const toolCall of response.tool_calls) {
        const toolResult = { location: toolCall.arguments.location, temp: "22C" };
        messages.push({ role: "assistant", tool_calls: [toolCall] });
        messages.push({ role: "tool", name: toolCall.name, content: JSON.stringify(toolResult) });
      }

      response = await env.AI.run(
        "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
        { messages }
      );
    }

    return Response.json({ answer: response.response });
  },
};

Conclusión

Cloudflare Workers AI simplifica la creación de agentes autónomos rápidos, económicos y serverless.