THEN
PART 3 · ใช้งาน

Open WebUI ครั้งแรก + โมเดลเพิ่มและส่วนเสริม

Open WebUI first login · models and add-ons

TL;DR — สรุปใน 30 วินาทีtldr

หน้าร้านที่ผู้ใช้เห็นจริงคือ Open WebUI — เว็บแชทหน้าตาคล้ายของดัง ๆ แต่หลังบ้านคือ Mac ของเราเอง บทนี้พาตั้งแต่เปิดครั้งแรก สร้างบัญชีแอดมิน เชิญผู้ใช้ ไปจนถึงเมนูเลือกโมเดลที่คัดมาแล้ว

บทนี้ต่อยอดหน้าร้านให้เก่งขึ้น: ต่อ RAG คลังความรู้ (embeddings + reranker), ตัวค้นเว็บในเครื่อง, และเครื่องมือเสริม (tools/pipelines) — ทั้งหมดฟรีและวิ่งบนเครื่องของเราเอง

เมื่อไหร่ควรใช้ / When to usewhen to use

ทำหลัง stack ขึ้นครบ (บทที่ ๓–๔) — เปิดผ่าน https://chat.โดเมนคุณ.com จาก browser ใดก็ได้ รวมถึงมือถือ

  • ระบบเราเปิดแบบ invite-only: สมัครเองไม่ได้ ต้องแอดมินสร้างบัญชีให้ (production ปัจจุบันมีผู้ใช้ 19 คน)
  • เบื้องหลังทุก call เดิน: WebUI → LiteLLM (กุญแจหลัก) → Mac — ผู้ใช้ไม่ต้องรู้ว่ากุญแจอยู่ตรงไหน

ทำเมื่อเว็บแชทใช้ได้ปกติแล้ว (บทที่ ๕) และอยากได้ ครับ:

  • คลังความรู้องค์กร — อัปโหลด PDF/เอกสาร/คู่มือ แล้วถาม-ตอบได้โดยอ้างอิงไฟล์จริง
  • คำตอบที่มีแหล่งอ้างอิง — ระบบค้นเว็บในเครื่อง + การอ้างอิงตอนตอบ
  • คุณภาพ RAG ที่ดีขึ้น — reranker ช่วยคัดข้อมูลที่เกี่ยวจริงก่อนเข้าโมเดล

วิธีทำ / How-tohow to

ครั้งแรกที่เปิด: ผู้ที่สมัครบัญชีแรกจะกลายเป็นแอดมินอัตโนมัติ — ใช้อีเมล+รหัสของตัวเอง แล้วระบบจะพาเข้าหน้าแชททันที (ภาพจริงด้านล่าง)

  1. ตั้งค่าการสมัคร: Admin Panel → Settings → General → ปิด "Enable New Sign Ups" (เหลือไว้แค่ตอนเชิญเพื่อน)
  2. สร้างผู้ใช้: Admin Panel → Users → + กรอกอีเมล/รหัสชั่วคราว แล้วส่งให้เพื่อนเปลี่ยนรหัสเอง
  3. คุมโมเดลที่ผู้ใช้เห็น: กำหนดในหน้า Models ของแอดมิน — ของเราคัดเหลือ Chat / Deep Think / Code / Vision (ซ่อนโมเดลแอดมินออกจากสายตา user)
  4. ทดสอบ: พิมพ์คำถามไทย เช่น "สรุปข่าวทองวันนี้เป็น 3 ข้อ" — คำตอบต้องไหลออกมาทีละตัวอักษร (streaming) จาก Mac

ฟีเจอร์ที่เปิดใช้จริงบนหน้าร้าน: ค้นเว็บ (SearXNG), RAG (bge-m3+Qdrant+reranker), สร้างภาพ (บทที่ ๖), อ่านออกเสียง/รับเสียง (บน i9) นะครับ

ถ้าติดตรงไหน → บทที่ ๙

ส่วนที่ 1 — Embeddings (หัวใจของ RAG): โมเดลแปลงข้อความเป็นเวกเตอร์ bge-m3 รันบน Mac ฟรี

# ตรวจว่ามีบน Mac แล้ว (ถ้าไม่มี: ollama pull bge-m3)
ollama pull bge-m3

# WebUI เรียกใช้ผ่าน LiteLLM route ชื่อ local-embed
# (ตั้งไว้แล้วใน litellm.yaml: model=ollama/bge-m3, api_base=Mac)

การตั้งค่าฝั่ง WebUI: RAG_EMBEDDING_ENGINE=ollama + RAG_EMBEDDING_MODEL=bge-m3 (บทที่ ๓) นะครับ

ส่วนที่ 2 — คลังเวกเตอร์: Qdrant เก็บเวกเตอร์ทั้งหมด (รันอยู่แล้วจาก bootstrap, bind localhost เท่านั้น) — อัปโหลดเอกสารที่หน้า Workspace ของ WebUI: ลากไฟล์เข้า → ระบบหั่นเป็นท่อน → ทำ embeddings → เก็บ Qdrant

ส่วนที่ 3 — Reranker (ยกระดับความแม่น): qwen3-reranker-4b รันบน i9 (:11435) ทำหน้าที่จัดอันดับ "ท่อนเอกสารไหนเกี่ยวกับคำถามจริง ๆ" ก่อนส่งเข้าโมเดล — กติกาสำคัญ: ถ้า reranker ตาย ระบบ fail-open กลับไปใช้ผลแบบไม่เรียงใหม่ (มี timeout คุมไว้) ไม่ใช่พังทั้งระบบ

ส่วนที่ 4 — ค้นเว็บในเครื่อง: SearXNG (รันแล้วในบทที่ ๓) — เปิดใช้ต่อคำถามได้จากปุ่ม "เว็บเสิร์ช" ในกล่องแชท ผลค้นจะถูกแนบเป็นบริบท (context) ไม่ใช่คำสั่ง — โมเดลถูกสอนด้วย system prompt ให้ปฎิบัติตามเจ้าของระบบเท่านั้น

ส่วนที่ 5 — Tools/Pipelines: หน้าร้านรองรับปลั๊กอินเสริม (เช่น ประมวลผลภาพ, เรียก API ภายนอก) — ติดตั้งผ่านเมนู Admin Panel → Functions/Pipelines ของเราใช้เบา ๆ: สร้างภาพผ่าน images.py ไปยัง router บทที่ ๖ เป็นหลัก

ถ้าติดตรงไหน → บทที่ ๙

ตัวอย่างการตั้งค่า / Config exampleconfig example

ตัวแปรสำคัญที่กำหนดพฤติกรรมหน้าร้าน (อยู่ใน docker-compose.yml บทที่ ๓) ครับ:

OPENAI_API_BASE_URLS: "http://litellm:4000/v1"  # บังคับเดินผ่านประตู LiteLLM
OLLAMA_BASE_URLS: ""                            # ว่างเปล่าโดยเจตนา: ห้ามข้ามไป Mac นะครับ
ENABLE_WEB_SEARCH: "true"                       # ค้นเว็บผ่าน SearXNG ในเครื่องครับ
WEB_SEARCH_ENGINE: "searxng"
RAG_EMBEDDING_ENGINE: ollama                    # embedding ทำบน Mac (ฟรี) ครับ
RAG_EMBEDDING_MODEL: bge-m3

ค่าพวกนี้คือเหตุผลที่หน้าร้านเร็ว ฟรี และวัดผลได้ — เปลี่ยนอะไรก็กลับมาดูบรรทัดนี้ก่อนนะครับ

สรุปสายพาน RAG ทั้งเส้นครับ:

คำถามผู้ใช้ (WebUI)
  -> ค้นคลัง Qdrant ด้วยเวกเตอร์จาก bge-m3 (ทำบน Mac, ฟรี)
  -> reranker บน i9 จัดอันดับท่อนเอกสารที่เกี่ยวที่สุด
  -> รวมกับผล SearXNG ถ้าเปิดค้นเว็บ
  -> ส่ง "คำถาม + เอกสารที่คัดแล้ว" เข้าโมเดลหลักบน Mac
  -> คำตอบอ้างอิง [1] [2] ตามที่ผู้ใช้เห็น

ทุกกล่องอยู่ในบ้าน: VPS (Qdrant+SearXNG), Mac (embeddings+โมเดล), i9 (reranker) ครับ

Pro tip — เคล็ดลับจากสนามจริงpro tip

★ PROD LESSON
เมนูโมเดลที่คัดมา = UX ที่ดีกว่า — อย่าเปิดให้ผู้ใช้เห็นโมเดลทุกตัวในระบบ — คัดเหลือ 3–4 ชื่อที่เข้าใจง่าย (Chat / Deep Think / Code / Vision) แล้วซ่อนโมเดลเฉพาะงาน (นักเขียน, วิเคราะห์ MT5) ไว้เบื้องหลัง ผู้ใช้ทั่วไปไม่ควรต้องตัดสินใจเรื่องที่เขาไม่รู้
★ PRO TIP
บัญชีแรก = กุญแจทั้งวัง — อย่าเพิ่งแชร์ลิงก์เว็บแชทให้ใครจนกว่าจะ (1) ปิดสมัครเอง (2) เปิด Cloudflare Access ปิดซ้อนอีกชั้น — บัญชีแอดมินแรกมีสิทธิ์เห็นผู้ใช้ทุกคนและการตั้งค่าทั้งหมด
★ PROD LESSON
RAG ไม่ใช่เวทมนตร์ — คุณภาพ RAG พึ่งความสะอาดของเอกสารมากกว่าโมเดล — ไฟล์สแกนภาพไม่มีข้อความก็หาไม่เจอ, เอกสารยาว ๆ ควรหั่นเป็นท่อนสั้นมีหัวข้อ และตั้ง top-k ไม่เกิน ~5 ก่อน เพราะส่งมากไปโมเดลจะสับสนแทนที่จะฉลาดขึ้น
★ PRO TIP
เอกสารไหนไม่ควรอัปโหลด — อย่าใส่ไฟล์ที่มีความลับของลูกค้า/บัญชีเงินเข้าคลัง RAG ที่ผู้ใช้หลายคนใช้ร่วมกัน — แยก workspace ต่อกลุ่มผู้ใช้ หรือเก็บของอ่อนไว้บนเครื่องคนเดียว

คำถามที่พบบ่อย / FAQfaq

ถาม: ใช้บนมือถือได้ไหม? — ได้ เป็นเว็บ responsive มีโหมดกล้องอ่านภาพ และแปลงเป็นหน้าจอหลัก (PWA) ได้เหมือนแอป

ถาม: ข้อมูลแชทของผู้ใช้หลุดออกไหม? — อยู่ใน Postgres บน VPS ของเราเท่านั้น ไม่มีการส่งออกนอกบ้าน เว้นแต่คำถามนั้นต้องเรียก Tier 3 คลาวด์ (ระบุ route ชัดเจน สามารถปิดได้ในบทที่ ๔)

คำถามอื่น ๆ ดูที่ FAQ

ถาม: อัปโหลดภาษาไทยอ่านได้ไหม? — ได้ bge-m3 รองรับหลายภาษารวมถึงไทย และโมเดลหลักตอบอ้างอิงภาษาไทยได้ตรงท่อน

ถาม: ค้นเว็บแล้วได้คำตอบเพี้ยน ๆ บ้าง? — มีกรณีที่เปิดค้นเว็บแล้วโมเดลทักทายแทนที่จะตอบคำถามราคาปัจจุบัน (ติดตามใน issue ของ repo) วิธีชั่วคราว: ถามตรง ๆ ไม่เปิดค้นเว็บสำหรับข้อมูลเรียลไทม์ หรือเปิดเฉพาะคำถามทั่วไป

ดูเพิ่ม / See alsosee also

ภาพประกอบ / Figuresfigures

หน้าเข้าสู่ระบบ Open WebUI ของระบบจริง — ปุ่มและหน้าจอภาษาไทย
ภาพจริงจาก production: ฟิลด์อีเมล/รหัสผ่านภาษาไทย พร้อมลิงก์สมัครสมาชิก (ปิดได้ในขั้นถัดไป)
Open WebUI แชทภาษาไทยจริง — ถามเกี่ยวกับ BOMLLM พร้อมคำตอบและการอ้างอิงจากการค้นเว็บ
ภาพจริงจากระบบ production: ถามภาษาไทย — ผู้ช่วยค้นเว็บ (สถานะ "กำลังค้นเว็บ...") คิด 4 วินาที แล้วตอบภาษาไทยพร้อมแหล่งอ้างอิง และคำถามต่อยอดแนะนำอัตโนมัติ
เมนูเลือกโมเดลของ Open WebUI เปิดแสดงรายการโมเดลที่คัดมา
เมนูเลือกโมเดล (เปิดอยู่): ผู้ใช้ทั่วไปเห็นเฉพาะรายการที่แอดมินคัดมา ไม่ใช่ทุกโมเดลที่มีในระบบ
หน้า Workspace จัดการโมเดลของแอดมิน — รายการ Chat Deep Think Image Vision
หน้าจัดการโมเดล (แอดมิน): คัด 4 รายการ — Chat / Deep Think / Image / Vision พร้อมสิทธิ์ Read Only และโมเดลเบื้องหลังของแต่ละรายการ
เส้นทางของคำถามที่มี RAG และค้นเว็บ
สายพานเดียวกับในหัวข้อ config ของบทนี้

คลิปหน้าจอจริงตามบทเรียน · คลิกเล่นเพื่อฟังสรุป · ไม่ใช่คำแนะนำการลงทุนครับ

▶ ดูวิดีโอคู่มือ: https://youtu.be/O4hM39cgDCY