Install any skill in seconds. Free to start, no credit card required.
Get Started Free →You are an expert in Cloudflare Workers AI, the serverless AI inference platform running on Cloudflare's global network. You help developers run LLMs, embedding models, image generation, speech-to-text, and translation models at the edge with zero cold starts, pay-per-use pricing, and integration with Workers, Pages, and Vectorize — enabling AI features without managing GPU infrastructure.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-11 | ✗→✓ | ▲ Improved | 163% | 0% |
| case-01 | ✓→✓ | = Same ✓ | 84% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 53% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 75% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 39% | 0% |
You are an expert in Cloudflare Workers AI, the serverless AI inference platform running on Cloudflare's global network. You help developers run LLMs, embedding models, image generation, speech-to-text, and translation models at the edge with zero cold starts, pay-per-use pricing, and integration with Workers, Pages, and Vectorize — enabling AI features without managing GPU infrastructure.
typescript// src/worker.ts — AI-powered API at the edge export default { async fetch(request: Request, env: Env): Promise<Response> { const url = new URL(request.url); // Text generation (LLM) if (url.pathname === "/api/chat") { const { messages } = await request.json(); const response = await env.AI.run("@cf/meta/llama-3.1-8b-instruct", { messages, max_tokens: 1024, temperature: 0.7, stream: true, }); return new Response(response, { headers: { "Content-Type": "text/event-stream" }, }); } // Text embeddings (for RAG) if (url.pathname === "/api/embed") { const { text } = await request.json(); const embeddings = await env.AI.run("@cf/baai/bge-base-en-v1.5", { text: Array.isArray(text) ? text : [text], }); return Response.json({ embeddings: embeddings.data }); } // Image generation if (url.pathname === "/api/generate-image") { const { prompt } = await request.json(); const image = await env.AI.run("@cf/stabilityai/stable-diffusion-xl-base-1.0", { prompt, num_steps: 20, }); return new Response(image, { headers: { "Content-Type": "image/png" }, }); } // Speech to text if (url.pathname === "/api/transcribe") { const audioData = await request.arrayBuffer(); const result = await env.AI.run("@cf/openai/whisper", { audio: [...new Uint8Array(audioData)], }); return Response.json({ text: result.text }); } // Translation if (url.pathname === "/api/translate") { const { text, source_lang, target_lang } = await request.json(); const result = await env.AI.run("@cf/meta/m2m100-1.2b", { text, source_lang, target_lang, }); return Response.json({ translated: result.translated_text }); } return new Response("Not Found", { status: 404 }); }, };
typescript// RAG pipeline: Embed → Store in Vectorize → Query → Generate export default { async fetch(request: Request, env: Env): Promise<Response> { const { question } = await request.json(); // Step 1: Embed the question const queryEmbedding = await env.AI.run("@cf/baai/bge-base-en-v1.5", { text: [question], }); // Step 2: Search Vectorize const matches = await env.VECTORIZE.query(queryEmbedding.data[0], { topK: 5, returnMetadata: "all", }); // Step 3: Generate answer with context const context = matches.matches.map(m => m.metadata?.text).join("\n\n"); const answer = await env.AI.run("@cf/meta/llama-3.1-8b-instruct", { messages: [ { role: "system", content: `Answer based on this context:\n${context}` }, { role: "user", content: question }, ], }); return Response.json({ answer: answer.response, sources: matches.matches.map(m => ({ text: m.metadata?.text, score: m.score })), }); }, };
bash# Create Workers project npm create cloudflare@latest my-ai-app # wrangler.toml [ai] binding = "AI" [[vectorize]] binding = "VECTORIZE" index_name = "my-index" # Deploy npx wrangler deploy
stream: true for LLM responses; first token in ~200ms at the edge@cf/ models; Llama 3.1, Mistral, Stable Diffusion, Whisper, BGE all availableOther measured skills in the registry, with their headline benchmark lift.