การสร้างแชทบอทด้วย Rasa ที่รองรับภาษาไทย
คู่มือนี้จะแนะนำขั้นตอนการสร้างแชทบอทด้วย Rasa ที่รองรับภาษาไทยและออกแบบมาเพื่อจัดการกับการขายกล้องในร้านค้า IT Gadget ขนาดใหญ่ เช่น "Big Camera"
ขั้นตอนที่ 1: ติดตั้ง Rasa
ตรวจสอบให้แน่ใจว่าได้ติดตั้ง Python แล้ว จากนั้นติดตั้ง Rasa ด้วยคำสั่ง pip:
pip install rasaขั้นตอนที่ 2: เริ่มต้นโปรเจกต์ Rasa ใหม่
สร้างโปรเจกต์ Rasa ใหม่:
rasa init --no-promptคำสั่งนี้จะสร้างโครงสร้างโปรเจกต์เริ่มต้น
ขั้นตอนที่ 3: เพิ่มการรองรับภาษาไทย
แก้ไขไฟล์ config.yml เพื่อรองรับภาษาไทย ใช้ tokenizer และ pipeline ที่จัดการภาษาไทยได้อย่างมีประสิทธิภาพ ตัวอย่าง:
language: th
pipeline:
  - name: "CustomTokenizer"
    tokenizer_class: "PyThaiNLPTokenizer"
  - name: "RegexFeaturizer"
  - name: "LexicalSyntacticFeaturizer"
  - name: "CountVectorsFeaturizer"
    analyzer: "word"
  - name: "CountVectorsFeaturizer"
    analyzer: "char_wb"
    min_ngram: 1
    max_ngram: 4
  - name: "DIETClassifier"
    epochs: 100
  - name: "EntitySynonymMapper"
  - name: "ResponseSelector"
    epochs: 100
  - name: "FallbackClassifier"
    threshold: 0.3ขั้นตอนที่ 4: กำหนด Intent และ Response
ในไฟล์ domain.yml ให้กำหนด intents และ responses ที่เกี่ยวข้องกับการขายกล้อง ตัวอย่าง:
intents:
  - greet
  - ask_discount
  - ask_camera_features
  - check_stock
  - thank_you
responses:
  utter_greet:
    - text: สวัสดีค่ะ! ยินดีต้อนรับสู่แชทบอทขายกล้อง Big Camera ค่ะ!
  utter_ask_discount:
    - text: กล้องตัวนี้มีราคาพิเศษในช่วงนี้ค่ะ! สนใจรุ่นไหนเป็นพิเศษไหมคะ?
  utter_ask_camera_features:
    - text: กรุณาบอกคุณสมบัติกล้องที่คุณต้องการ เช่น ความคมชัดสูง? ซูมเลนส์? เพื่อแนะนำรุ่นที่เหมาะสมค่ะ
  utter_check_stock:
    - text: กรุณาบอกรุ่นกล้องที่คุณต้องการ เพื่อเช็คสถานะสินค้าให้ค่ะ
  utter_thank_you:
    - text: ขอบคุณมากค่ะ! หากมีคำถามเพิ่มเติมสามารถสอบถามได้เลยค่ะขั้นตอนที่ 5: สร้างข้อมูลการฝึกอบรม
เพิ่มตัวอย่างการฝึกอบรมในภาษาไทยในไฟล์ data/nlu.yml:
version: "3.0"
nlu:
  - intent: greet
    examples: |
      - สวัสดี
      - สวัสดีค่ะ
  - intent: ask_discount
    examples: |
      - มีกล้องลดราคามั้ย?
      - กล้องรุ่นนี้มีโปรโมชั่นไหม?
  - intent: ask_camera_features
    examples: |
      - กล้องรุ่นนี้มีคุณสมบัติอะไรบ้าง?
      - อยากได้กล้องที่ความคมชัดสูง
  - intent: check_stock
    examples: |
      - รุ่นนี้มีของมั้ย?
      - ขอเช็คสถานะสินค้าหน่อยค่ะ
  - intent: thank_you
    examples: |
      - ขอบคุณค่ะ
      - ขอบคุณมากค่ะขั้นตอนที่ 6: สร้าง Custom Action
สร้าง Custom Action สำหรับเช็คสถานะสินค้าในไฟล์ actions/actions.py:
from typing import Any, Text, Dict, List
from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher
class ActionCheckStock(Action):
    def name(self) -> Text:
        return "action_check_stock"
    def run(self, dispatcher: CollectingDispatcher,
            tracker: Tracker,
            domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
        # ตัวอย่างข้อมูลสินค้า
        stock_data = {
            "camera_x": "มีสินค้า",
            "camera_y": "สินค้าหมด",
        }
        model = tracker.get_slot("camera_model")
        if model in stock_data:
            stock_status = stock_data[model]
            response = f"สถานะสินค้า {model}: {stock_status}"
        else:
            response = "ไม่พบรุ่นที่คุณระบุค่ะ"
        dispatcher.utter_message(text=response)
        return []อัปเดตไฟล์ domain.yml เพื่อเพิ่ม Custom Action และช่องสำหรับกล้อง:
actions:
  - action_check_stock
slots:
  camera_model:
    type: textอัปเดต Response utter_check_stock เพื่อแจ้งผู้ใช้หากไม่ได้ระบุชื่อรุ่นกล้อง:
responses:
  utter_check_stock:
    - text: กรุณาระบุชื่อรุ่นกล้องที่ต้องการค่ะขั้นตอนที่ 7: อัปเดต Stories
อัปเดตไฟล์ data/stories.yml เพื่อเพิ่มเรื่องราวการเช็คสินค้า:
version: "3.0"
stories:
  - story: Check Stock
    steps:
      - intent: check_stock
      - action: utter_check_stock
      - slot_was_set:
          - camera_model: "camera_x"
      - action: action_check_stockขั้นตอนที่ 8: ทดสอบแชทบอท
เรียกใช้งานแชทบอทด้วยคำสั่งต่อไปนี้:
rasa train
rasa shellทดสอบแชทบอทด้วยการป้อนข้อความตัวอย่างในภาษาไทย
ขั้นตอนที่ 9: การปรับใช้แชทบอท
พิจารณาใช้ Rasa X หรือการรวมเข้ากับเว็บอินเทอร์เฟซเพื่อปรับใช้แชทบอท และให้ผู้ใช้สามารถเข้าถึงได้ผ่านเว็บไซต์หรือโซเชียลมีเดีย
ขั้นตอนที่ 10: การปรับปรุงอย่างต่อเนื่อง
วิเคราะห์ประสิทธิภาพของแชทบอท ปรับปรุงข้อมูลการฝึกอบรม และพัฒนาโมเดลเพื่อรองรับคำถามของผู้ใช้อย่างมีประสิทธิภาพ
การทำงานของ Rasa
ด้านล่างเป็นการแสดงการทำงานของ Rasa ด้วย MermaidJS:
graph TD
    User["ผู้ใช้"] -->|"ส่งข้อความ"| NLU[NLU Pipeline]
    NLU -->|"ระบุ Intent และ Entities"| Core[Rasa Core]
    Core -->|"ดำเนินการตามนโยบาย"| Action[Action Server]
    Action -->|"ดำเนินการ Custom Actions หรือ Responses"| Bot[Bot Response]
    Bot -->|"ตอบกลับผู้ใช้"| User
    subgraph ระบบ Rasa
        NLU
        Core
        Action
    endด้วยขั้นตอนเหล่านี้ คุณสามารถสร้างแชทบอท Rasa ที่รองรับภาษาไทยสำหรับการจัดการและโปรโมทการขายกล้องในร้าน Big Camera หรือ IT Gadget Shop อื่น ๆ ได้อย่างมีประสิทธิภาพ
Get in Touch with us
Related Posts
- Agentic AI และ MCP Servers: ก้าวต่อไปของระบบอัตโนมัติอัจฉริยะ
- การใช้ DevOps กับระบบอีคอมเมิร์ซ Django + DRF + Docker + PostgreSQL
- วิธีที่ AI ช่วยแก้ปัญหาใน Agile Development ได้จริง
- การเชื่อมต่อ TAK และ Wazuh เพื่อการรับรู้ภัยคุกคามแบบเรียลไทม์
- การขยายระบบ Wazuh สำหรับการมอนิเตอร์ความปลอดภัยเครือข่ายหลายสาขา
- ทำไมโครงการ ERP ถึงล้มเหลว — และเราจะหลีกเลี่ยงได้อย่างไร
- วิธีสร้างคอมมูนิตี้ที่แข็งแกร่งด้วยเทคโนโลยี
- ปัญญาประดิษฐ์ (AI) กับสวนสัตว์ยุคใหม่: ทำให้การเรียนรู้สนุก ฉลาด และน่าจดจำ
- วิธีเลือกโรงงานรับซื้อเศษวัสดุรีไซเคิลสำหรับโรงงานอุตสาหกรรม
- เข้าใจเทคโนโลยีฐานข้อมูลยุคใหม่ — และวิธีเลือกให้เหมาะกับงานของคุณ
- อนาคตอยู่ที่ขอบเครือข่าย — เข้าใจ Edge & Distributed Computing ในปี 2025
- NVIDIA กับสองคลื่นใหญ่: จากคริปโตสู่ AI — ศิลปะแห่งการโต้คลื่นในฟองสบู่
- จากการตรวจเช็กด้วยมือสู่การบำรุงรักษาอากาศยานด้วย AI
- ระบบสร้างใบรับรองการตรวจสอบอัตโนมัติจากเทมเพลต Excel
- SimpliPOS (COFF POS): ระบบขายหน้าร้านสำหรับคาเฟ่ที่ใช้งานง่ายและครบฟังก์ชัน
- สร้างเว็บแอป Local-First ด้วย Alpine.js — เร็ว ปลอดภัย และไม่ต้องใช้เซิร์ฟเวอร์
- 🌱 Carbon Footprint Calculator (Recycling) — เครื่องมือคำนวณคาร์บอนสำหรับอุตสาหกรรมรีไซเคิล
- Recycle Factory Tools — เครื่องมือช่วยบันทึกงานรีไซเคิลให้ง่ายขึ้น
- โค้ชท่าวิ่ง — เมโทรนอมจังหวะก้าว เคาะจังหวะ จับเวลาท่าฝึก เช็คลิสต์ท่าทาง
- วิธีสร้างเครื่องคำนวณคาร์บอนเครดิตสำหรับธุรกิจของคุณ

 
          











