การสร้างแชทบอทด้วย 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
- ระบบ Network Security Monitoring (NSM) ผสานพลัง AI
- วิธีสร้างระบบ Enterprise ด้วย Open-Source + AI
- AI จะมาแทนที่บริษัทพัฒนาซอฟต์แวร์ในปี 2026 หรือไม่? ความจริงที่ผู้บริหารองค์กรต้องรู้
- วิธีสร้าง Enterprise System ด้วย Open-Source + AI (คู่มือเชิงปฏิบัติ ปี 2026)
- การพัฒนาซอฟต์แวร์ด้วย AI — สร้างเพื่อธุรกิจ ไม่ใช่แค่เขียนโค้ด
- Agentic Commerce: อนาคตของระบบการสั่งซื้ออัตโนมัติ (คู่มือฉบับสมบูรณ์ ปี 2026)
- วิธีสร้าง Automated Decision Logic ใน SOC ยุคใหม่ (ด้วย Shuffle + SOC Integrator)
- ทำไมเราจึงออกแบบ SOC Integrator แทนการเชื่อมต่อเครื่องมือแบบตรง ๆ (Tool-to-Tool)
- การพัฒนาระบบสถานีชาร์จ EV ด้วย OCPP 1.6 คู่มือสาธิตการใช้งานจริง: Dashboard, API และสถานีชาร์จ EV
- การเปลี่ยนแปลงทักษะของนักพัฒนาซอฟต์แวร์ (2026)
- Retro Tech Revival: จากความคลาสสิกสู่ไอเดียผลิตภัณฑ์ที่สร้างได้จริง
- OffGridOps — ระบบงานภาคสนามแบบออฟไลน์ สำหรับโลกการทำงานจริง
- SmartFarm Lite — แอปบันทึกฟาร์มแบบออฟไลน์ ใช้งานง่าย อยู่ในกระเป๋าคุณ
- การประเมินทิศทางราคาช่วงสั้นด้วย Heuristics และ News Sentiment (Python)
- Rust vs Python: เลือกภาษาให้เหมาะกับระบบในยุค AI และระบบขนาดใหญ่
- ซอฟต์แวร์ช่วยเกษตรกรจันทบุรีฟื้นอำนาจการกำหนดราคาผลไม้อย่างไร
- AI ช่วยค้นหาโอกาสทางการเงินได้อย่างไร
- วิธีใช้งานโมเดล ONNX ใน React Native และ Mobile App Framework อื่น ๆ
- อัลกอริทึมตรวจจับโรคใบพืชทำงานอย่างไร: จากกล้องสู่การตัดสินใจ
- Smart Farming Lite: เกษตรดิจิทัลที่ใช้งานได้จริงโดยไม่ต้องพึ่งพาเซนเซอร์













