docs: add 4 dedicated LLM product generator prompts for wellness, beauty, fashion, and moto demo environments

This commit is contained in:
Your Name committed 2026-09-25 04:31:01 +07:00
1 parent 0f632f2a93
commit 0bc28ec190
5 files changed
+494 -139

No files matched your search

+27 -139
View File
@@ -1,153 +1,41 @@
# LLM Guide: Prompt & Schema สำหรับสั่งให้ AI สร้าง JSON สินค้าของ HomAroma
# คู่มือการใช้ AI/LLM สร้าง JSON สำหรับนำเข้าสินค้า (Product Catalog Generator)
เอกสารฉบับนี้ออกแบบมาเพื่อ **Copy & Paste ส่งต่อให้ LLM (เช่น ChatGPT, Claude, Gemini)** เพื่อสั่งให้ AI สร้างข้อมูลสินค้าให้ออกมาเป็น **Valid JSON Array** ที่ถูกต้อง 100% ตาม Schema ของระบบ HomAroma และสามารถนำไปกด **"Import JSON"** ในหน้า Admin หรือเรียก `POST /api/products/bulk` ได้ทันทีโดยไม่ติด Error ใดๆ
ระบบรองรับการสร้างสินค้าจำนวนมากผ่าน **JSON Import** ในหน้า Admin (`/admin/products` -> คลิกปุ่ม **"Import JSON"**) หรือเรียก API `POST /api/products/bulk`
เพื่อป้องกันไม่ให้ AI เกิดความสับสนกับตัวอย่างสินค้าเฉพาะกลุ่ม เอกสารชุดนี้จึงแยก Prompt ออกเป็น **4 ไฟล์เฉพาะทาง (Dedicated Prompts)** ตามหมวดธุรกิจและสภาพแวดล้อม Demo Showcase:
---
## 📋 ส่วนที่ 1: Prompt สำหรับ Copy ส่งให้ LLM (Master Prompt)
## 📂 รายการ Prompt ทั้ง 4 กลุ่มธุรกิจ (เลือก Copy ไปส่งให้ LLM ได้ทันที)
> **วิธีใช้งาน:** คัดลอกข้อความในกรอบด้านล่างนี้ทั้งหมด แล้วส่งให้ LLM โดยคุณสามารถแก้ประเภทสินค้า, จำนวนสินค้า หรือแบรนด์ตามต้องการได้ที่ส่วนท้ายของ Prompt:
```text
คุณคือ Senior E-commerce Catalog Specialist และ Luxury Product Copywriter ประจำแบรนด์ HomAroma
หน้าที่ของคุณคือ: ออกแบบและสร้างข้อมูลสินค้าสำหรับนำเข้าสู่ระบบ E-commerce ในรูปแบบ Valid JSON Array ตามข้อกำหนดอย่างเคร่งครัด
[กฎและข้อกำหนดโครงสร้าง JSON]:
1. ผลลัพธ์ต้องเป็น Valid JSON Array ของ Object สินค้าเท่านั้น (เริ่มต้นด้วย [ และจบด้วย ])
2. ห้ามมีคำเกริ่นนำ ห้ามมีคำลงท้าย ให้ส่งเฉพาะ JSON ล้วนๆ
3. ฟิลด์ตัวเลข (price, stock, order) ต้องเป็น Number ห้ามใส่เครื่องหมายคำพูด (ห้ามเป็น String)
4. สินค้าแต่ละชิ้นต้องมีข้อมูลครบถ้วน:
- "name": ชื่อสินค้าที่น่าสนใจ ดึงดูด และดูพรีเมียม
- "categoryName": หมวดหมู่สินค้า เช่น "Aroma Oil", "Reed Diffuser", "Room Spray", "Car Diffuser", "Essential Oil", "Candle" หรือหมวดอื่นๆ ตามความเหมาะสม
- "brandName": ชื่อแบรนด์ เช่น "HomAroma" หรือแบรนด์ตามโจทย์
- "description": คำบรรยายสรรพคุณ อารมณ์ กลิ่นสัมผัส ความรู้สึกระดับพรีเมียม (ความยาว 2-4 บรรทัด)
- "details": รายละเอียดเชิงลึก เช่น Scent Notes (Top/Middle/Base Notes), ขนาดบรรจุ, วิธีการใช้งาน, ข้อควรระวัง
- "images": Array ของ URL รูปภาพสินค้าความละเอียดสูง (ใช้ลิงก์รูปจริงจาก Unsplash เกี่ยวกับ Aroma, Diffuser, Perfume, Spa ที่เปิดดูได้จริง)
5. ประเภทสินค้า (เลือกทำแบบใดแบบหนึ่งตามความเหมาะสมของสินค้า):
- แบบ A: สินค้าเดี่ยว (Simple Product):
ใส่ "price", "stock", "sku", "barcode" (บาร์โค้ดสากล 13 หลัก) ไว้ที่ระดับบนสุดของ Object
- แบบ B: สินค้ามีตัวเลือกย่อย (Variable Product เช่น มีหลายขนาด หรือหลายกลิ่น):
ต้องมี "options" ระบุชื่อตัวเลือกและค่าที่เป็นไปได้ และมี "variants" ที่ระบุ "option1", "price", "stock", "sku", "barcode" ให้สอดคล้องกันทุกตัว
6. รองรับ 2 ภาษา (Bilingual):
- มีฟิลด์ "translations" กำหนดทั้ง "th" (ภาษาไทย) และ "en" (ภาษาอังกฤษ) สำหรับ "name", "description", และ "details"
[โจทย์สินค้าที่ต้องการให้คุณสร้าง]:
กรุณาสร้างข้อมูลสินค้าจำนวน 5 รายการ ในหมวดเครื่องหอมและสปา (Essential Oil, Reed Diffuser, Room Spray) โดยมีทั้งสินค้าแบบ Simple Product และ Variable Product ที่มีขนาด 10ml, 30ml, 50ml, 100ml ให้สมบูรณ์แบบพร้อมใช้งานทันที
```
| กลุ่มธุรกิจ | ไฟล์ Prompt สำหรับ Copy | ตัวอย่างแบรนด์ / สินค้า | สภาพแวดล้อม Demo |
| :--- | :--- | :--- | :--- |
| **1. Wellness & Luxury** | [LLM_PROMPT_1_WELLNESS_LUXURY.md](file:///c:/Users/ti/git/homaroma/LLM_PROMPT_1_WELLNESS_LUXURY.md) | Panpuri, Jo Malone, Diptyque (น้ำมันหอมระเหย, ก้านไม้หอม, เทียนหอม, สปา) | `wellness.kittisak.com` |
| **2. Beauty & Multi-Brand** | [LLM_PROMPT_2_BEAUTY_MULTIBRAND.md](file:///c:/Users/ti/git/homaroma/LLM_PROMPT_2_BEAUTY_MULTIBRAND.md) | EVEANDBOY, Beautrium (สกินแคร์, เซรั่ม, กันแดด, ลิปสติก, คุชชั่น) | `beauty.kittisak.com` |
| **3. Fashion & Lifestyle** | [LLM_PROMPT_3_FASHION_LIFESTYLE.md](file:///c:/Users/ti/git/homaroma/LLM_PROMPT_3_FASHION_LIFESTYLE.md) | Jaspal, CPS CHAPS, Zara, Gentlewoman (เสื้อเชิ้ต, เดรส, กางเกง, กระเป๋าหนัง) | `fashion.kittisak.com` |
| **4. Motorcycle Parts & Accessories** | [LLM_PROMPT_4_MOTO_PARTS.md](file:///c:/Users/ti/git/homaroma/LLM_PROMPT_4_MOTO_PARTS.md) | RCB Racing Boy, Brembo, Öhlins, YSS (ปั๊มเบรก, คาลิปเปอร์, โช้คอัพ, ล้อแม็ก) | `moto.kittisak.com` |
---
## 📐 ส่วนที่ 2: โครงสร้าง Schema อ้างอิงทางเทคนิค (Data Specification)
## 🛠️ ข้อกำหนดทางเทคนิคสากล (Universal Schema Rules)
### 1. แบบสินค้ามีตัวเลือกย่อย (Variable Product - มีขนาด/กลิ่น/สี)
ไม่ว่าจะใช้ไฟล์ใด LLM จะต้องยึดหลักเกณฑ์ทางเทคนิคของระบบดังนี้:
```json
{
"name": "น้ำมันหอมระเหย ลาเวนเดอร์ 100% Pure Essential Oil",
"categoryName": "Aroma Oil",
"brandName": "HomAroma",
"description": "น้ำมันหอมระเหยบริสุทธิ์แท้ 100% สกัดจากดอกลาเวนเดอร์ประเทศฝรั่งเศส กลิ่นหอมนุ่มนวล ช่วยผ่อนคลายความตึงเครียด บำบัดจิตใจ และช่วยให้นอนหลับลึกอย่างมีคุณภาพ",
"details": "• Scent Profile: Floral, Herbal, Calming\n• Top Notes: French Lavender, Fresh Bergamot\n• Heart Notes: Clary Sage, Chamomile\n• Base Notes: Soft Cedarwood\n• วิธีใช้: หยด 3-5 หยดลงในเตาอโรมาหรือเครื่องพ่นไอน้ำ\n• ขนาดบรรจุ: 10ml / 30ml\n• มาตรฐาน: 100% Pure Therapeutic Grade",
"options": [
{
"name": "ขนาด",
"values": ["10ml", "30ml"]
}
],
"variants": [
{
"option1": "10ml",
"price": 390,
"stock": 50,
"sku": "HA-LAV-10ML",
"barcode": "8859123456701"
},
{
"option1": "30ml",
"price": 890,
"stock": 30,
"sku": "HA-LAV-30ML",
"barcode": "8859123456702"
}
],
"images": [
"https://images.unsplash.com/photo-1608571423902-eed4a5ad8108?w=800",
"https://images.unsplash.com/photo-1617897903246-719242758050?w=800"
],
"translations": {
"th": {
"name": "น้ำมันหอมระเหย ลาเวนเดอร์ 100% Pure Essential Oil",
"description": "น้ำมันหอมระเหยบริสุทธิ์แท้ 100% สกัดจากดอกลาเวนเดอร์ประเทศฝรั่งเศส ช่วยผ่อนคลายความตึงเครียดและช่วยให้นอนหลับลึก",
"details": "• กลิ่น: ฟลอรัล สมุนไพร ผ่อนคลาย\n• วิธีใช้: หยด 3-5 หยดลงในเตาอโรมาหรือเครื่องพ่นไอน้ำ\n• ขนาด: 10ml / 30ml"
},
"en": {
"name": "Lavender Pure Essential Oil 100%",
"description": "100% pure natural French lavender essential oil. Calms the mind, relieves daily stress, and encourages restorative sleep.",
"details": "• Scent Profile: Floral, Herbal, Calming\n• Usage: Diffuse 3-5 drops in an aroma diffuser or burner.\n• Sizes: 10ml / 30ml"
}
}
}
```
1. **Format:** ต้องส่งคืนเฉพาะ **Valid JSON Array** (`[ ... ]`) ล้วนๆ ไม่มีข้อความเกริ่นหรือปิดท้าย
2. **Numeric Fields:** `price`, `stock`, `order` ต้องเป็นตัวเลข Number แท้จริง (ห้ามครอบเครื่องหมายคำพูด เช่น `"1500"` เป็นต้น)
3. **Product Types:**
- **Simple Product (สินค้าเดี่ยว):** ใส่ `price`, `stock`, `sku`, `barcode` ที่ระดับบนสุด ระบบจะแปลงเป็น Base Variant ในฐานข้อมูลให้อัตโนมัติ
- **Variable Product (สินค้ามีตัวเลือก ไซส์/สี/ขนาด):** กำหนด `options` (เช่น `[{"name": "ขนาด", "values": ["S", "M"]}]`) และใน `variants` ต้องมี `option1` ตรงกับค่าใน `values` ทุกตัวอักษร
4. **Bilingual (2 ภาษา):** มีฟิลด์ `translations` ครบทั้ง `th` และ `en` สำหรับ `name`, `description`, `details`
5. **Images:** กำหนดเป็น Array ของ URL รูปภาพจริง เช่น จาก Unsplash หรือ CDN
---
### 2. แบบสินค้าเดี่ยว (Simple Product - ไม่มีตัวเลือกย่อย)
## 🚀 ขั้นตอนการนำเข้าข้อมูล (Import Workflow)
```json
{
"name": "ก้านไม้หอมปรับอากาศ กลิ่นมะลิไทยแท้ (Siam Jasmine Reed Diffuser)",
"categoryName": "Reed Diffuser",
"brandName": "HomAroma",
"price": 590,
"stock": 80,
"sku": "HA-RD-JAS-100",
"barcode": "8859123456801",
"description": "ก้านไม้กระจายความหอมระดับพรีเมียม สกัดความหอมละมุนจากดอกมะลิซ้อนสยาม สร้างบรรยากาศอบอุ่น ผ่อนคลาย และหรูหราให้ทุกมุมบ้าน กระจายกลิ่นต่อเนื่องยาวนาน 4-6 สัปดาห์",
"details": "• ปริมาตรสุทธิ: 100 ml\n• อายุการใช้งาน: 4-6 สัปดาห์ (ขึ้นอยู่กับอุณหภูมิและความชื้น)\n• อุปกรณ์ในกล่อง: ขวดแก้วทรงคลาสสิก พร้อมก้านไม้ไฟเบอร์นำเข้าสีดำ 6 ก้าน\n• พื้นที่แนะนำ: ห้องนอน, ห้องรับแขก, ห้องทำงาน ขนาด 15-25 ตารางเมตร",
"images": [
"https://images.unsplash.com/photo-1617897903246-719242758050?w=800",
"https://images.unsplash.com/photo-1608571423902-eed4a5ad8108?w=800"
],
"translations": {
"th": {
"name": "ก้านไม้หอมปรับอากาศ กลิ่นมะลิไทยแท้ (Siam Jasmine Reed Diffuser)",
"description": "ก้านไม้กระจายความหอมระดับพรีเมียม กลิ่นมะลิซ้อนสยาม หอมละมุนยาวนาน 4-6 สัปดาห์",
"details": "ปริมาตร: 100ml รวมก้านไม้ 6 ก้าน เหมาะสำหรับห้องขนาด 15-25 ตร.ม."
},
"en": {
"name": "Siam Jasmine Reed Diffuser 100ml",
"description": "Premium reed diffuser capturing authentic royal Thai jasmine scent. Long-lasting fragrance diffusion for 4-6 weeks.",
"details": "Volume: 100ml. Includes 6 fiber reeds. Recommended for rooms 15-25 sqm."
}
}
}
```
---
## 🛠️ ส่วนที่ 3: กฎสำคัญที่ LLM มักจะพลาด (Gotchas & Validation Rules)
1. **Option Values ต้องตรงกับ Variant Option:**
- หากประกาศ `"options": [ { "name": "ขนาด", "values": ["10ml", "30ml"] } ]`
- ใน `variants` แต่ละตัว ค่าของ `"option1"` **ต้องเป็น "10ml" หรือ "30ml" ตรงกันทุกตัวอักษร** (ห้ามพิมพ์เป็น `"10 ml"` หรือ `"10ML"` ที่ต่างตัวพิมพ์)
2. **ราคาและสต็อกต้องเป็นตัวเลขจริง (Numeric Type):**
- ถูกต้อง: `"price": 490`, `"stock": 100`
- ผิด: `"price": "490"`, `"price": "฿490"`
3. **รูปภาพต้องเป็น Array:**
- รองรับทั้ง Array ของ URL: `["https://...", "https://..."]`
- หรือ Array ของ Object: `[{"url": "https://...", "order": 0}]`
4. **Barcode ต้องไม่ซ้ำ (Unique per Variant):**
- สินค้าหรือตัวเลือกย่อยแต่ละชิ้นควรมีรหัส Barcode 13 หลัก (เช่น ขึ้นต้นด้วย `885...` ของประเทศไทย) ที่ไม่ซ้ำกัน เพื่อให้ใช้กับเครื่องสแกนบาร์โค้ดที่ระบบ POS ได้ทันที
5. **Auto-Category & Brand:**
- สามารถระบุชื่อหมวดหมู่ (`categoryName`) และชื่อแบรนด์ (`brandName`) เป็นภาษาไทยหรืออังกฤษได้ตามต้องการ หากในระบบยังไม่มี หมวดหมู่และแบรนด์เหล่านั้นจะถูกสร้างให้อัตโนมัติ
---
## 🚀 ขั้นตอนการนำเข้าหลังจากได้ JSON จาก LLM
1. คัดลอก JSON Array ที่ LLM ตอบกลับมา
2. เข้าสู่ระบบ Admin ที่เมนู **Products** (`https://admin.homaroma.shop/products` หรือ URL ของ Subdomain ที่ต้องการ)
3. กดปุ่ม **"Import JSON"** สีเขียวข้างปุ่ม Add Product
4. วางโค้ด JSON ลงในช่อง Textarea (หรือเซฟเป็นไฟล์ `.json` แล้วกดอัปโหลด)
5. กดปุ่ม **"ยืนยันนำเข้าสินค้า"**
6. ระบบจะบันทึกสินค้า, สร้าง Variant, ตั้งค่าคลังสต็อก, เชื่อมโยงหมวดหมู่, และสร้าง Section หน้าบ้าน Next.js SSR ให้พร้อมใช้งานทันที!
1. เปิดไฟล์ Prompt หมวดที่ต้องการ แล้ว Copy ข้อความในบล็อก `Prompt ส่งให้ LLM`
2. ส่งให้ LLM เช่น **ChatGPT, Claude 3.5 Sonnet หรือ Google Gemini**
*(สามารถระบุจำนวนสินค้าที่ต้องการ เช่น "ขอ 20 รายการ" ได้)*
3. คัดลอก JSON ที่ได้จาก LLM
4. เข้าไปที่หน้า Admin ของระบบนั้นๆ -> เมนู **สินค้า (Products)** -> กดปุ่ม **"Import JSON"**
5. ตรวจสอบสถานะการตรวจสอบ (Validation) และกดยืนยัน **"ยืนยันนำเข้าสินค้า"**