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
ครั้งแรกที่เปิด: ผู้ที่สมัครบัญชีแรกจะกลายเป็นแอดมินอัตโนมัติ — ใช้อีเมล+รหัสของตัวเอง แล้วระบบจะพาเข้าหน้าแชททันที (ภาพจริงด้านล่าง)
- ตั้งค่าการสมัคร: Admin Panel → Settings → General → ปิด "Enable New Sign Ups" (เหลือไว้แค่ตอนเชิญเพื่อน)
- สร้างผู้ใช้: Admin Panel → Users → + กรอกอีเมล/รหัสชั่วคราว แล้วส่งให้เพื่อนเปลี่ยนรหัสเอง
- คุมโมเดลที่ผู้ใช้เห็น: กำหนดในหน้า Models ของแอดมิน — ของเราคัดเหลือ Chat / Deep Think / Code / Vision (ซ่อนโมเดลแอดมินออกจากสายตา user)
- ทดสอบ: พิมพ์คำถามไทย เช่น "สรุปข่าวทองวันนี้เป็น 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
คำถามที่พบบ่อย / FAQfaq
ถาม: ใช้บนมือถือได้ไหม? — ได้ เป็นเว็บ responsive มีโหมดกล้องอ่านภาพ และแปลงเป็นหน้าจอหลัก (PWA) ได้เหมือนแอป
ถาม: ข้อมูลแชทของผู้ใช้หลุดออกไหม? — อยู่ใน Postgres บน VPS ของเราเท่านั้น ไม่มีการส่งออกนอกบ้าน เว้นแต่คำถามนั้นต้องเรียก Tier 3 คลาวด์ (ระบุ route ชัดเจน สามารถปิดได้ในบทที่ ๔)
คำถามอื่น ๆ ดูที่ FAQ
ถาม: อัปโหลดภาษาไทยอ่านได้ไหม? — ได้ bge-m3 รองรับหลายภาษารวมถึงไทย และโมเดลหลักตอบอ้างอิงภาษาไทยได้ตรงท่อน
ถาม: ค้นเว็บแล้วได้คำตอบเพี้ยน ๆ บ้าง? — มีกรณีที่เปิดค้นเว็บแล้วโมเดลทักทายแทนที่จะตอบคำถามราคาปัจจุบัน (ติดตามใน issue ของ repo) วิธีชั่วคราว: ถามตรง ๆ ไม่เปิดค้นเว็บสำหรับข้อมูลเรียลไทม์ หรือเปิดเฉพาะคำถามทั่วไป
ดูเพิ่ม / See alsosee also
- บทที่ ๖ · ภาพและเสียง — ปุ่มสร้างภาพ/อ่านออกเสียง และส่วนเสริมที่หนักกว่า
ภาพประกอบ / Figuresfigures




คลิปหน้าจอจริงตามบทเรียน · คลิกเล่นเพื่อฟังสรุป · ไม่ใช่คำแนะนำการลงทุนครับ
▶ ดูวิดีโอคู่มือ: https://youtu.be/O4hM39cgDCY