ดาวน์โหลด ติดตั้ง และเปิด SALA ให้ใช้ได้
เริ่มจากเครื่องที่ยังไม่มีโปรแกรมที่ต้องใช้ แยกวิธีสำหรับ Mac และ Windows ทุกขั้นมีจุดตรวจว่าทำสำเร็จแล้ว
รู้จักสิ่งที่จะใช้ก่อนลงมือ
AI คือโปรแกรมที่ช่วยทำงานจากข้อความที่เราป้อน ในบทนี้ AI ช่วยแปลข้อความ แต่ยังอาจแปลผิดได้ เราจึงต้องอ่านตรวจผลก่อนใช้งาน
| คำที่เจอ | ให้นึกถึง |
|---|---|
| โมเดลภาษา | ตัวที่อ่านและสร้างข้อความ ต้องดาวน์โหลดก่อนใช้ |
| Ollama | โปรแกรมที่เปิดให้โมเดลทำงานบนเครื่องเรา |
| Node.js | โปรแกรมที่ทำให้เว็บ SALA เปิดทำงานได้ |
| Prompt (พรอมป์ต์) | ข้อความสั่งงาน AI เช่น “ช่วยแปลประโยคนี้เป็นไทย” |
| Sandbox | โหมดทดลอง ใช้ข้อมูลสมมติสำหรับฝึก |
เปิดอะไรไว้บ้าง
- เบราว์เซอร์: อ่านคู่มือ ดาวน์โหลด และเปิดหน้าเว็บทดลอง
- หน้าต่างคำสั่ง: วางคำสั่งติดตั้งและเปิดระบบ ไม่ใช่ช่องแชต AI
- โปรแกรมแก้ไขข้อความ: ใช้เฉพาะตอนแก้ค่าตั้งค่าในขั้นที่ 5
AI ที่แปลใน SALA กับ AI ที่ช่วยแก้โค้ดในบทที่ 2 เป็นคนละหน้าที่ การติดตั้ง Ollama ไม่ได้ทำให้มีโปรแกรมช่วยแก้โค้ดพร้อมใช้โดยอัตโนมัติ
วิธีคัดลอกคำสั่งครั้งแรก
- กด “คัดลอก” ที่กรอบคำสั่ง
- คลิกหน้าต่าง Terminal หรือ Command Prompt ให้พร้อมรับข้อความ
- กด ⌘ + V บน Mac หรือ Ctrl + V บน Windows
- ตรวจว่าข้อความตรงกับกรอบ แล้วกด Enter รอจนทำงานเสร็จก่อนคำสั่งถัดไป
กรอบที่เขียนว่า “ค่าที่ต้องเห็นในไฟล์ .env.tester” ใช้วางในไฟล์ที่เปิดในขั้นที่ 5 เท่านั้น ไม่ใช่คำสั่งสำหรับ Terminal
เตรียมตัวก่อนเริ่ม
ควรมีอินเทอร์เน็ตสำหรับดาวน์โหลดโปรแกรมและโมเดล, RAM ประมาณ 16 GB ขึ้นไป, พื้นที่ว่างอย่างน้อย 25 GB และไฟล์ hotel-concierge-training.zip สำหรับฝึกอบรม Mac ที่ใช้ Ollama ต้องเป็น macOS 14 ขึ้นไป; Windows ใช้รุ่น 10 หรือ 11 แบบ 64 บิต
กด ดาวน์โหลดไฟล์ ZIP ชุดฝึก จากคู่มือนี้ หากผู้จัดอบรมแจกไฟล์รุ่นใหม่กว่า ให้ใช้ไฟล์ที่แจกและตรวจว่ามี package.json อย่าดาวน์โหลดไฟล์ชื่อคล้ายกันจากเว็บอื่น
ไม่ทราบว่าใช้ระบบไหน: Mac มีเมนูรูป Apple มุมซ้ายบน ส่วน Windows มีปุ่ม Start รูปหน้าต่าง เลือกปุ่มระบบด้านล่างเพื่ออ่านเฉพาะวิธีของตัวเอง
คำที่ใช้ในคู่มือนี้
- หน้าต่างคำสั่ง คือ Terminal บน Mac หรือ Command Prompt (cmd) บน Windows
- พิมพ์คำสั่ง คือคัดลอกเฉพาะข้อความในกรอบสีเข้ม วางในหน้าต่างคำสั่ง แล้วกด Enter ทีละบรรทัด ไม่ต้องพิมพ์เครื่องหมาย
$หรือคำอธิบาย - เว็บทดลอง เปิดจากเครื่องตัวเองที่
http://localhost:3000คำว่าlocalhostหมายถึงเครื่องนี้
ถ้าหน้าต่างคำสั่งปิดไป ให้เปิดใหม่แล้วเข้าโฟลเดอร์โปรเจกต์ตามขั้นที่ 3 ก่อนพิมพ์คำสั่งต่อ
ขั้นที่ 1 · ติดตั้ง Node.js
Node.js คือโปรแกรมที่ใช้เปิดเว็บ SALA โปรเจกต์ต้องใช้รุ่น 24.13.0 ขึ้นไป เลือกตัวติดตั้งจาก เว็บไซต์ Node.js ทางการ โดยตรวจเลขรุ่นบนหน้าเว็บก่อนดาวน์โหลด
Mac
- กดตัวติดตั้งสำหรับ macOS ไฟล์ลงท้าย
.pkg - เปิดไฟล์ที่ดาวน์โหลด แล้วกด Continue → Agree → Install จนเสร็จ
- กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
⊞ Windows
- กดตัวติดตั้งสำหรับ Windows ไฟล์ลงท้าย
.msi - ดับเบิลคลิกไฟล์ แล้วกด Next ตามขั้นตอน ช่องติดตั้งเครื่องมือเสริมอัตโนมัติยังไม่ต้องเลือก
- กดปุ่ม Windows พิมพ์ cmd แล้วกด Enter
ในหน้าต่างคำสั่ง พิมพ์ทีละบรรทัด:
node -vรอคำสั่งแรกเสร็จ แล้วค่อยทำคำสั่งถัดไป
npm -vv24.13.0 หรือสูงกว่า และบรรทัดที่สองเป็นเลขรุ่น npm หากไม่รู้จักคำสั่ง ให้ปิดหน้าต่างคำสั่งแล้วเปิดใหม่ขั้นที่ 2 · ติดตั้ง Ollama
Ollama ใช้รันโมเดลภาษาในเครื่อง ดาวน์โหลดจาก เว็บ Ollama ทางการ เลือกไฟล์ตามระบบของตัวเอง คู่มือนี้ใช้โมเดลที่ดาวน์โหลดลงเครื่อง ไม่ใช้รุ่นที่มีคำว่า :cloud
Mac
- เลือก Download for macOS
- เปิดไฟล์ที่ได้ ย้าย Ollama ไปที่ Applications ตามหน้าจอ
- เปิดแอป Ollama อย่างน้อยหนึ่งครั้ง และอนุญาตให้ติดตั้งคำสั่งเมื่อแอปถาม
⊞ Windows
- เลือก Download for Windows
- เปิดไฟล์ติดตั้งและกด Install
- รอจนแอป Ollama เปิดขึ้นมา แล้วเปิด Command Prompt ใหม่
เปิด http://127.0.0.1:11434 ในเบราว์เซอร์ของเครื่องตัวเอง
Ollama is running ถ้าเข้าไม่ได้ ให้เปิดแอป Ollama ก่อนและลองใหม่อย่าเปิดตัวเลือกให้เครื่องอื่นเข้าถึง Ollama และอย่าตั้ง OLLAMA_HOST=0.0.0.0 การทดลองนี้ไม่ต้องลงชื่อเข้าใช้บริการ cloud
ขั้นที่ 3 · รับไฟล์โปรเจกต์และติดตั้งส่วนประกอบ
กด ดาวน์โหลด hotel-concierge-training.zip ในคู่มือนี้ หรือรับไฟล์รุ่นใหม่จากผู้จัดอบรม เมื่อดาวน์โหลดเสร็จ ให้แตกไฟล์และเปิดหน้าต่างคำสั่ง ในโฟลเดอร์ที่เห็น package.json
Mac
- ดับเบิลคลิกไฟล์ ZIP ใน Downloads เพื่อแตกไฟล์
- ย้ายโฟลเดอร์โปรเจกต์ไปไว้ใน Documents ตามสะดวก
- เปิด Terminal พิมพ์
cdตามด้วยเว้นวรรค 1 ครั้ง แล้วลากโฟลเดอร์โปรเจกต์มาวางใน Terminal กด Enter - พิมพ์
ls package.jsonและกด Enter ต้องเห็นชื่อไฟล์
⊞ Windows
- คลิกขวา ZIP → Extract All → Extract
- เปิดโฟลเดอร์ที่แตกแล้วจนเห็น
package.jsonถ้าเห็นโฟลเดอร์ซ้อน ให้เข้าไปอีกชั้น - คลิกช่องที่อยู่ด้านบนของ File Explorer พิมพ์
cmdแล้วกด Enter - พิมพ์
dir package.jsonและกด Enter ต้องเห็นชื่อไฟล์
ติดตั้งส่วนประกอบของโปรเจกต์:
npm ciadded ... packages ตัวเลขไม่จำเป็นต้องเหมือนกันทุกเครื่องก่อนแจกไฟล์ ให้ตรวจว่า ZIP มี package.json, package-lock.json, src/, public/, scripts/, tests/ และ .env.tester.example ห้ามรวม data/, backups/, .env, .env.tester หรือ node_modules/ เพราะอาจมีข้อมูลจริงหรือทำให้ไฟล์ใหญ่เกินไป
ขั้นที่ 4 · ดาวน์โหลดโมเดลภาษา
เริ่มจาก qwen3:8b ซึ่งเป็นโมเดลทดลองประมาณ 5.2 GB ตาม รายการโมเดล Qwen3 บน Ollama การดาวน์โหลดอาจใช้เวลาหลายนาทีตามความเร็วอินเทอร์เน็ต
ollama pull qwen3:8bรอคำสั่งแรกเสร็จ แล้วค่อยทำคำสั่งถัดไป
ollama listollama list แสดงชื่อ qwen3:8b จดชื่อให้ตรง เพราะต้องกรอกอีกครั้งในขั้นที่ 5โมเดล qwen3:4b มีขนาดเล็กกว่าประมาณ 2.5 GB แต่คุณภาพภาษาอาจต่างกัน หากเลือกตัวนี้ ให้เปลี่ยน LLM_MODEL ในขั้นที่ 5 ให้ตรงด้วย อย่าสมมติว่าโมเดลใดเหมาะกับโรงแรมจริงก่อนประเมินผล
ขั้นที่ 5 · ตั้งค่าไฟล์ .env.tester
ไฟล์นี้บอก SALA ว่าจะเรียก Ollama ที่ไหน และใช้โมเดลชื่ออะไร ไฟล์ขึ้นต้นด้วยจุดจึงอาจมองไม่เห็นในหน้าต่างไฟล์ ให้เปิดด้วยคำสั่งตามระบบของตัวเอง
Mac · พิมพ์ทีละบรรทัด
cp .env.tester.example .env.testerรอคำสั่งแรกเสร็จ แล้วค่อยทำคำสั่งถัดไป
open -e .env.tester⊞ Windows · พิมพ์ทีละบรรทัด
copy .env.tester.example .env.testerรอคำสั่งแรกเสร็จ แล้วค่อยทำคำสั่งถัดไป
notepad .env.testerเมื่อไฟล์เปิดขึ้นมา ให้หาและแก้บรรทัดเหล่านี้ อย่างละหนึ่งบรรทัด พิมพ์ตามตัวอย่าง ไม่ต้องใส่เครื่องหมายคำพูดหรือช่องว่างรอบ =:
LLM_PROVIDER=ollama
LLM_BASE_URL=http://127.0.0.1:11434
LLM_MODEL=qwen3:8b
AI_TIMEOUT_MS=30000ถ้าเลือก qwen3:4b ในขั้นก่อน ให้พิมพ์ LLM_MODEL=qwen3:4b แทน บรรทัดอื่นคงตามไฟล์เดิม โดยเฉพาะ OPERATING_MODE=sandbox, LLM_TESTER_ONLY=true, HOST=127.0.0.1 และ PUBLIC_ORIGIN=http://localhost:3000
บันทึกด้วย ⌘ + S บน Mac หรือ Ctrl + S บน Windows แล้วปิดโปรแกรมแก้ไขข้อความ ระวัง Windows ไม่บันทึกเป็น .env.tester.txt
.env.tester มีชื่อโมเดลตรงกับ ollama list และยังเป็น sandboxขั้นที่ 6 · สร้างบัญชีและเปิดเว็บ
ในหน้าต่างคำสั่งที่อยู่ในโฟลเดอร์โปรเจกต์ พิมพ์คำสั่งแรกเพื่อสร้างผู้ดูแล ทำ ครั้งเดียวต่อฐานข้อมูลใหม่:
node --env-file=.env.tester scripts/setup.js- ที่
Admin username:พิมพ์ชื่อผู้ใช้ที่จำได้ แล้วกด Enter - ที่
Password (14+ characters, hidden):พิมพ์รหัสผ่าน 14–200 ตัวอักษร แล้วกด Enter ขณะพิมพ์หน้าจอจะไม่แสดงตัวอักษรหรือจุด ถือเป็นเรื่องปกติ - จดชื่อผู้ใช้และรหัสผ่านไว้ในที่ปลอดภัย ไม่ใส่ในคู่มือหรือส่งในแชต
จากนั้นเปิดเว็บด้วยคำสั่งนี้:
npm run start:testerเปิดหน้าต่างคำสั่งนี้ค้างไว้ เว็บจะหยุดเมื่อกด Ctrl + C หากปิดหน้าต่างไป เปิดใหม่แล้วเข้าโฟลเดอร์โปรเจกต์ตามขั้นที่ 3 ก่อนพิมพ์คำสั่งนี้อีกครั้ง
SALA local: http://localhost:3000 · sandbox แล้วเปิด http://localhost:3000/staff ได้ลองใช้เว็บในบทบาทพนักงานและแขก
- ล็อกอินที่
/staffด้วยบัญชีที่เพิ่งสร้าง - ไปที่แท็บ การเข้าพัก เลือกห้องที่ยังว่าง ตั้งเวลาสิ้นสุดให้เป็นเวลาหลังจบการฝึก แล้วกด เช็กอินและออกรหัส
- จดรหัสเข้าใช้งานที่แสดง ครั้งเดียว คัดลอกข้อความในช่อง “ลิงก์ห้องสำหรับ QR” แล้วเปิดหน้าต่างส่วนตัวตามปุ่มลัดด้านล่าง วางลิงก์ในช่องที่อยู่ด้านบนและกด Enter
- กรอกรหัสในหน้าแขก แล้วลองส่งข้อความสังเคราะห์ เช่น “ขอน้ำดื่มสองขวด”
- กลับมาหน้าพนักงาน ดูข้อความต้นฉบับ คำแปล และคิวคำขอ
เปิดหน้าต่างส่วนตัว
Chrome / Safari: ⌘ + Shift + N
⊞ เปิดหน้าต่างส่วนตัว
Chrome / Edge: Ctrl + Shift + N
ให้เปิดเว็บที่ http://localhost:3000 ตามที่ระบบแสดง ถ้าเปลี่ยนไปใช้ 127.0.0.1:3000 แม้เป็นเครื่องเดียวกัน ระบบอาจปฏิเสธการส่งข้อความด้วย origin_rejected


แบบฝึกพื้นฐาน · ส่ง อ่าน และตรวจ
ใช้หน้าแขกในหน้าต่างส่วนตัว และหน้าพนักงานในหน้าต่างปกติ สลับไปมาระหว่างสองหน้าต่าง ทุกข้อความเป็นสถานการณ์สมมติ
- ในหน้าแขก เลือกแท็บ คุยกับเรา ส่งข้อความ “ขอน้ำดื่มสองขวด” หนึ่งครั้ง แล้วรอผล
- กลับหน้าพนักงาน เลือก กล่องงาน หาห้องที่เช็กอินไว้ และอ่านคำขอที่เข้ามา ต้องไม่สลับไปเป็นอีกห้อง
- ลองส่งภาษาอังกฤษ “Could I have two bottles of water, please?” จากหน้าแขก แล้วกลับมาดูคำแปลไทย
- ตรวจว่าคำแปลยังหมายถึง น้ำดื่ม 2 ขวด ถ้าจำนวนหรือสิ่งที่ขอไม่ตรง ให้ถือว่ายังไม่ผ่าน แม้ระบบจะตอบกลับแล้ว
- ถ้าระบบให้ตรวจทานหรือแจ้งว่า AI ไม่พร้อม ให้ผู้สอนช่วยอ่านสถานะ ไม่กดยืนยันข้ามเพียงเพื่อให้จบขั้นตอน
ลองตอบก่อนดูเฉลย: ต้นฉบับขอน้ำสองขวด แต่คำแปลบอกหนึ่งขวด ถือว่าผ่านหรือไม่?
ดูคำตอบ
ยังไม่ผ่าน เพราะจำนวนเปลี่ยนไป ต้องให้คนตรวจและแก้ก่อนดำเนินการตามคำขอ AI ตอบได้ไม่ได้แปลว่าตอบถูกเสมอ
ถึงจุดนี้ถือว่าจบบทฝึกใช้งานพื้นฐานแล้ว ส่วนถัดไปเป็นการตรวจเชิงเทคนิค ให้ทำร่วมกับผู้สอนเมื่อมีเวลา
ขั้นที่ 7 · ตรวจเชิงเทคนิคร่วมกับผู้สอน
ปล่อยหน้าต่างที่รันเว็บไว้ แล้วเปิด หน้าต่างคำสั่งใหม่ ในโฟลเดอร์โปรเจกต์ (ทำตามขั้นที่ 3 อีกครั้ง) ใช้ข้อความสังเคราะห์ในชุดทดสอบเท่านั้น
ทดสอบโค้ด
npm testpass 56 และ fail 0 ถ้าโค้ดรุ่นอื่นมีจำนวนต่าง ให้ดูว่า fail 0 และถามผู้จัดอบรมก่อนสรุปลองให้เว็บคุยกับ AI ในเครื่อง
node --env-file=.env.tester scripts/smoke-tester.js"status":"passed" สคริปต์ใช้ฐานข้อมูลชั่วคราว ไม่แตะฐานข้อมูลในเว็บทดลองที่กำลังเปิดอยู่ทดสอบหลายภาษา
npm run evaluate:multilingual -- docs/multilingual-results-mine.jsondocs/multilingual-results-mine.json และรายงานครบ 96 กรณี หากจะส่งให้ผู้สอนตรวจ ให้ส่ง ไฟล์ผลทดสอบนี้เท่านั้น ไม่ส่งฐานข้อมูลหรือไฟล์ .env.testerผ่านทางเทคนิคไม่ได้แปลว่าโมเดลแปลถูกทุกภาษา ผลความหมายต้องให้ผู้รู้ภาษาตรวจต่อ โดยเฉพาะการแพ้อาหาร การปฏิเสธ และการชำระเงิน
ขั้นที่ 8 · ถ้าติดขัด ให้ดูตรงนี้
| อาการ | ลองแก้อย่างไร |
|---|---|
node, npm หรือ ollama ไม่รู้จักคำสั่ง | ปิดหน้าต่างคำสั่งแล้วเปิดใหม่ หากยังไม่หายให้รีสตาร์ทเครื่อง; Mac ให้เปิดแอป Ollama หนึ่งครั้งก่อน |
node:sqlite ใช้ไม่ได้ | ตรวจ node -v ต้องเป็น 24.13.0 ขึ้นไป แล้วติดตั้งใหม่จากเว็บทางการ |
Windows ขึ้น running scripts is disabled | กำลังอยู่ใน PowerShell ให้เปิด Command Prompt (cmd) ตามขั้นที่ 3 แล้วพิมพ์ใหม่ |
npm ci หา package.json ไม่พบ | เปิดโฟลเดอร์ที่แตก ZIP จนเห็น package.json แล้วเปิด cmd/Terminal ในโฟลเดอร์นั้น |
| AI ไม่พร้อม หรือแปลไม่ได้ | ตรวจ 127.0.0.1:11434 ว่า Ollama ทำงาน ตรวจ ollama list และชื่อใน LLM_MODEL ให้ตรงกัน แล้วกดแปลอีกครั้ง |
| โมเดลครั้งแรกช้า หรือหมดเวลา | รอให้โหลดครั้งแรกเสร็จและลองใหม่ หากยังช้า ลดขนาดโมเดล หรือเพิ่ม AI_TIMEOUT_MS ได้สูงสุด 60000 แล้วเปิดเว็บใหม่ |
Temporary tester requires a loopback LLM endpoint | ตั้ง LLM_BASE_URL=http://127.0.0.1:11434 ห้ามใช้ที่อยู่ของเครื่องอื่น |
origin_rejected | เปิด http://localhost:3000 ไม่ใช้ 127.0.0.1:3000 |
EADDRINUSE หรือพอร์ต 3000 ถูกใช้ | ตรวจว่ามีหน้าต่าง npm run start:tester เก่าเปิดอยู่หรือไม่ ถ้ามีใช้เว็บจากหน้าต่างนั้น; หากต้องเปลี่ยนพอร์ต ให้แก้ทั้ง PORT และ PUBLIC_ORIGIN ให้ตรงกัน |
เมื่อเปิดระบบและทำแบบฝึกพื้นฐานได้ คุณพร้อมใช้บทถัดไปเพื่อเขียน Prompt 6 ส่วนสำหรับงานฝึกเปลี่ยนชื่อโรงแรม
วันถัดไป · เปิดใช้งานอีกครั้ง
- เปิดแอป Ollama และรอให้พร้อม
- เปิดหน้าต่างคำสั่งในโฟลเดอร์เดิมตาม ขั้นที่ 3
- พิมพ์คำสั่งด้านล่าง แล้วเปิด หน้าพนักงาน ด้วยบัญชีเดิม
npm run start:testerไม่ต้องดาวน์โหลดโมเดล ติดตั้งส่วนประกอบ หรือสร้างบัญชีใหม่ทุกครั้ง ถ้ารหัสเข้าพักหมดอายุ ให้เช็กเอาต์รายการฝึกเดิมแล้วเช็กอินใหม่จากหน้าพนักงาน
เมื่อเลิกฝึก: กลับไปหน้าต่างที่เปิดระบบ กด Ctrl + C แล้วค่อยปิดหน้าต่าง หากเว็บเข้าไม่ได้หลังปิด ถือว่าปกติเพราะระบบหยุดแล้ว
ถ้าทำต่อไม่ได้ · ขอความช่วยเหลืออย่างไร
ไม่ต้องเริ่มติดตั้งใหม่ทั้งหมด ให้บอกผู้สอนว่าติดที่ขั้นไหนและเห็นข้อความอะไร ใช้แบบนี้ได้:
ใช้เครื่อง: Mac / Windows
ติดที่ขั้น: …
สิ่งที่กดหรือคำสั่งที่ใช้: …
ข้อความผิดพลาดที่เห็น: …
ลองแก้ไปแล้ว: …แนบภาพเฉพาะบริเวณที่มีปัญหาได้ โดยปิดรหัสผ่าน รหัสเข้าพัก และข้อมูลส่วนตัวก่อน ไม่ต้องส่งไฟล์ค่าตั้งค่าหรือโฟลเดอร์ฐานข้อมูล
ถ้าเครื่องไม่พร้อม ให้ฝึกอ่านคำแปลกับเพื่อนที่เครื่องพร้อม หรือทำ แบบฝึกเขียนคำสั่ง บนกระดาษก่อน แล้วกลับมาติดตั้งพร้อมผู้สอน