Cloudflare

ใช้ 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