ใช้ Workers AI สร้าง Chatbot ด้วย LLM (Llama, Mistral) บน Edge

Workers AI คืออะไร

Cloudflare Workers AI เป็นแพลตฟอร์มที่ช่วยให้คุณรัน Large Language Model (LLM) บน Cloudflare Edge ไม่ต้องมีเซิร์ฟเวอร์ GPU หรือความสำเร็จในการ Scale ระบบที่ซับซ้อน ด้วย Workers AI คุณสามารถสร้าง AI Chatbot ที่ตอบสนองได้อย่างรวดเร็วจากที่ใกล้เคียงกับผู้ใช้ที่สุด ลดเวลาแฝงและเพิ่มประสบการณ์ผู้ใช้

ทำไมต้องสร้าง Chatbot บน Edge

การสร้าง Chatbot บน Edge มีข้อดีหลายประการ:

  • ความเร็ว: ผู้ใช้ได้รับการตอบสนองในหลายสิบมิลลิวินาที ไม่ใช่วินาที
  • ต้นทุนต่ำ: ไม่ต้องซื้อ GPU Server ราคาแพง
  • Scalability: Cloudflare Edge ไม่มีปัญหา Scaling ตัวอยู่แล้ว
  • Reliability: Cloudflare มี 99.99% uptime ที่เชื่อถือได้

LLM Models ที่รองรับ

Cloudflare Workers AI รองรับโมเดล AI ที่หลากหลายและเก่าดี:

  • @cf/meta/llama-2-7b-chat-int8: โมเดล Llama 2 ขนาด 7B ที่เร็วและมีประสิทธิภาพดี เหมาะสำหรับ Chatbot ทั่วไป
  • @cf/mistral/mistral-7b-instruct-v0.1: โมเดล Mistral ที่เล็กและเร็วกว่า Llama แต่มีคุณภาพการตอบสนองที่ดี
  • @cf/meta/llama-3-8b-instruct: เวอร์ชันที่ใหม่กว่าของ Llama ที่มีความแม่นยำสูงกว่า

สร้าง Cloudflare Worker ด้วย JavaScript

การสร้าง Chatbot ด้วย Workers AI ต้องการเพียงไม่กี่ขั้นตอน: สร้าง Cloudflare Worker, เชื่อมต่อกับ Workers AI API, ส่งข้อความสอบถามไปยัง LLM model, รับคำตอบกลับ ตัวอย่างโค้ดเต็มดังนี้:

// ตัวอย่าง: Chatbot ด้วย Workers AI
export default {
  async fetch(request, env) {
    // รับข้อมูล JSON จากคำขอ
    const { prompt } = await request.json();
    
    // ส่งคำขอไปยัง LLM
    const response = await env.AI.run('@cf/meta/llama-2-7b-chat-int8', {
      prompt: prompt,
      max_tokens: 1024
    });
    
    // ส่งคำตอบกลับไปยังผู้ใช้
    return new Response(JSON.stringify({
      response: response.response
    }), {
      headers: { 'Content-Type': 'application/json' }
    });
  }
};

Streaming Response สำหรับ Chatbot

หากต้องการให้ Chatbot ตอบสนองได้อย่างเสมือนกำลังพิมพ์ (เหมือนกับ ChatGPT) คุณสามารถใช้ Streaming Response:

// Streaming Response
export default {
  async fetch(request, env) {
    const { prompt } = await request.json();
    
    const response = await env.AI.run('@cf/meta/llama-2-7b-chat-int8', {
      prompt: prompt,
      stream: true // เปิดใช้ streaming
    });
    
    // ส่ง Streaming Response
    return new Response(response.body, {
      headers: {
        'Content-Type': 'text/event-stream'
      }
    });
  }
};

Deploy Worker ผ่าน Wrangler CLI

หลังจากเขียนโค้ด Worker แล้ว ให้ Deploy โดยใช้ Wrangler CLI ที่มาพร้อมกับ Cloudflare:

# ตั้งค่า Wrangler (ทำครั้งแรกเท่านั้น)
npm install -g wrangler
wrangler login

# สร้าง Project ใหม่
wrangler create my-chatbot
cd my-chatbot

# Deploy Worker
wrangler publish

# Worker ของคุณจะเข้าถึงได้ที่ my-chatbot.YOUR_SUBDOMAIN.workers.dev

Cloudflare จะส่งโค้ดของคุณไปยัง Data Centers ทั่วโลก และ Worker ของคุณจะเริ่มตอบสนองต่อคำขอโดยเกือบทันที

ต้นทุนค่าใช้จ่าย Workers AI

Workers AI มีแบบจ่ายตามการใช้งาน ไม่มีค่าขั้นต่ำรายเดือน:

  • ข้อความที่ประมวลผลตามลำดับ (Non-streaming): ประมาณ $0.50 ต่อ 1 ล้านโทเค็น
  • Streaming: ใช้โทเค็นน้อยกว่าเพราะตัดสินใจได้เร็ว
  • ทดลองฟรีสำหรับ 10,000 โทเค็นแรกต่อวัน
  • สร้าง Chatbot ที่ตอบสนองได้อย่างรวดเร็ว จากเซิร์ฟเวอร์ Edge Cloudflare
  • ลดโหลดจากเซิร์ฟเวอร์หลักด้วยการประมวลผล AI บน Edge
  • ลดต้นทุน GPU สำหรับการประมวลผล AI บน VPS ของคุณ
  • เพิ่มการใช้งานระบบอัตโนมัติเพื่อลดต้นทุนปฏิบัติการโดยรวม

บทสรุป

Cloudflare Workers AI เป็นวิธีที่ยอดเยี่ยมในการสร้าง AI Chatbot ที่รวดเร็วและปลอดภัย ด้วย LLM models ที่หลากหลายจาก Meta (Llama), Mistral และอื่นๆ และการ Deploy ที่ง่ายดาย คุณสามารถเพิ่มขีดความสามารถ AI ให้กับแอปพลิเคชันของคุณได้ในเวลาเพียงนาที ไม่ต้องเป็นผู้เชี่ยวชาญด้าน Machine Learning