Open WebUI
Open WebUI คือแพลตฟอร์ม AI แบบ self-hosted ที่ติดตั้งบนเครื่องหรือเซิร์ฟเวอร์ของตัวเอง แล้วเปิดใช้เป็นหน้าเว็บแชตในเบราว์เซอร์ ติดตั้งได้บน macOS, Linux และ Windows Open WebUI เป็นส่วนหน้าจอเท่านั้น ไม่มีโมเดลของตัวเอง ต้องมีตัวรันโมเดลอยู่ข้างหลัง เช่น Ollama, llama.cpp, LM Studio หรือ API (ช่องทางให้โปรแกรมอื่นเรียกใช้) ที่เข้ากันได้กับ OpenAI
ไปที่เว็บ Open WebUI openwebui.comเหมาะกับใคร
- เหมาะกับคนที่ใช้ Ollama อยู่แล้วและอยากได้หน้าแชต เพราะ Open WebUI หา Ollama ในเครื่องเดียวกันเองที่ http://host.docker.internal:11434 (จาก Docker) หรือ http://localhost:11434 (จาก Python)
- เหมาะกับทีมที่อยากแชร์โมเดลจากเซิร์ฟเวอร์เครื่องเดียว เพราะผู้ใช้แค่เปิดเบราว์เซอร์ ไม่ต้องติดตั้งทีละเครื่อง และมี SSO แบบ OAuth / OIDC, SCIM 2.0 และ LDAP
- เหมาะกับงานถามตอบจากไฟล์ภายใน เพราะ image :main มีโมเดล embedding ในตัวที่รันบน CPU และ Knowledge base รองรับ hybrid search (BM25 + vector) พร้อม reranking
- เหมาะกับคนที่ใช้ทั้งโมเดลในเครื่องและโมเดลคลาวด์ เพราะต่อ Ollama และ OpenAI-compatible API หลายตัวใน instance เดียว แล้วเลือกโมเดลจากตัวเลือกเดียวกัน
- เหมาะกับนักพัฒนาที่อยากมี API กลางตัวเดียว เพราะโปรแกรมอื่นเรียก /api/chat/completions ด้วย API key แล้วเข้าถึงทั้งโมเดล Ollama, โมเดล OpenAI และ Function models ได้
- เหมาะกับเครือข่ายที่ตัดจากอินเทอร์เน็ต เพราะมี OFFLINE_MODE=true และข้อมูลบัญชีกับแชตเก็บในเครื่องหรือเซิร์ฟเวอร์ของคุณ
ไม่เหมาะกับ
- คนที่อยากได้โปรแกรมเดียวจบที่ดาวน์โหลดและรันโมเดลเอง ควรดูตัวอื่นก่อน เพราะ Open WebUI ไม่มีโมเดลของตัวเอง ต้องมี Ollama, llama.cpp, LM Studio หรือ API อีกตัว ยกเว้น image :ollama และแอปเดสก์ท็อปที่ยังเป็น Early Alpha
- มือใหม่ที่ไม่อยากพิมพ์คำสั่ง ยังไม่ลงตัว เพราะวิธีติดตั้งหลัก (Docker, pip, uv) ต้องพิมพ์คำสั่งทั้งหมด ส่วนแอปเดสก์ท็อปมีคำเตือนว่า Early Alpha. Things move fast and stuff might break.
- บริษัทที่อยากเปลี่ยนโลโก้หรือชื่อเป็นของตัวเอง ต้องซื้อ Enterprise License เพราะสัญญาอนุญาตห้ามแก้ ลบ หรือบังแบรนด์ Open WebUI เมื่อมีผู้ใช้เกิน 50 คนในรอบ 30 วัน
- คนที่ต้องการซอฟต์แวร์ open source ตามนิยาม OSI ควรรู้ว่าตั้งแต่ v0.6.6 Open WebUI License ไม่ใช่สัญญาอนุญาตที่ OSI รับรอง แม้ source code ทั้งหมดเปิดเผย
- คนใช้ Mac ที่อยากให้ Docker ใช้การ์ดจอ ไม่ได้ เพราะ GPU ใน Docker มีเฉพาะ Docker for Windows และ Docker Engine บน Linux ส่วน Docker Desktop for Linux และ MacOS ยังไม่มี
ทำได้แค่ไหน
- เป็นหน้าแชตกลางสำหรับโมเดลในเครื่องและโมเดลบนคลาวด์ในที่เดียว ต่อได้ผ่าน 3 แบบ คือ Ollama, OpenAI-compatible APIs และ Open Responses
- ถามตอบจากไฟล์ของตัวเองด้วย RAG (การดึงข้อมูลจากไฟล์มาประกอบคำตอบ) ทั้งแบบลากไฟล์ลงแชตครั้งเดียว และแบบสร้าง Knowledge base ไว้ใช้ซ้ำ
- ให้โมเดลเรียก tools ได้ ทั้ง tools ในตัว (Web Search, Code Interpreter, Image Generation, Memory, Notes, Knowledge retrieval), Python Tools ที่เขียนเอง และ tool server แบบ MCP (มาตรฐานเชื่อม AI กับบริการภายนอก) หรือ OpenAPI
- หนึ่ง instance ให้คนทั้งองค์กรใช้ร่วมกันได้ผ่านเบราว์เซอร์ มีบทบาท Admin, User และ Pending พร้อม groups และ permissions รายฟีเจอร์
- เปิด API ให้โปรแกรมอื่นเรียกได้ 3 แบบ คือแบบเข้ากันได้กับ OpenAI, แบบเข้ากันได้กับ Anthropic Messages และ proxy ไปยัง API ของ Ollama
- มีแชตหลายโมเดลพร้อมกัน, Notes, Channels, Memory, Calendar, Automations (prompt ตามเวลา), คุยด้วยเสียงและวิดีโอ, สร้างและแก้รูป และดึงหน้าเว็บด้วย # ตามด้วย URL
ใช้กับงานแบบไหนได้
มือใหม่ที่อยากได้แอปกดใช้ได้บางส่วน
มีแอปเดสก์ท็อปที่ดาวน์โหลดแล้วเปิดใช้ได้โดยไม่ต้องใช้ Docker หรือ terminal (หน้าจอพิมพ์คำสั่ง) แต่ยังเป็น Early Alpha ส่วนวิธีติดตั้งหลักคือ Docker, pip และ uv ต้องพิมพ์คำสั่ง
คอมแรม 8GB หรือไม่มีการ์ดจอได้บางส่วน
ตัว Open WebUI เองเบา แอปเดสก์ท็อปแบบ Remote Only ใช้ RAM 4 GB และมีโปรไฟล์สำหรับ Raspberry Pi / <4GB RAM แต่ Open WebUI ไม่ได้รันโมเดล ถ้ารันโมเดลในเครื่อง แอปเดสก์ท็อปบอกว่า RAM 16 GB+ และ 7B ≈ 8 GB, 13B ≈ 16 GB
ใช้การ์ดจอหรือ Apple Silicon ให้เต็มได้บางส่วน
การใช้การ์ดจอรันโมเดลเป็นงานของตัวรันที่ต่ออยู่ ไม่ใช่ของ Open WebUI ฝั่ง Open WebUI มี image :cuda สำหรับ Nvidia ส่วน Docker Desktop บน macOS ไม่มี GPU และยังไม่มีข้อมูลเรื่อง Metal หรือ MLX ของ Apple Silicon
เปิด API ให้โปรแกรมอื่นมาต่อได้
POST /api/chat/completions เข้ากันได้กับ OpenAI มี /api/v1/messages แบบ Anthropic Messages และ proxy ของ Ollama ที่ /ollama/<api> ต้องใช้ API key ที่แอดมินเปิดให้ก่อน คำขอถูกส่งต่อไปยังตัวรันโมเดล และ API ยังเป็น experimental setup
ถามตอบจากไฟล์ของตัวเองได้
มี RAG ในตัว ลากไฟล์ลงแชตเพื่อถามได้ทันที หรือสร้าง Knowledge base ที่ Workspace > Knowledge image :main มีโมเดล embedding ในตัวที่รันบน CPU
ทำเอเจนต์ที่ใช้ tools หรือ MCPได้บางส่วน
รองรับ native tool calling, Python Tools, OpenAPI และ MCP แบบ Streamable HTTP ที่แอดมินเท่านั้นเพิ่มได้ ใช้ออฟไลน์ได้ แต่ต้องมีโมเดลในเครื่องที่เรียก tools ได้ และต้องเตรียมโมเดลกับ cache ให้ครบก่อนตัดอินเทอร์เน็ต
ตั้งเซิร์ฟเวอร์ให้ทั้งทีมใช้ได้
รองรับผู้ใช้หลายคนในตัว มีบทบาท Admin, User, Pending มี groups, permissions, SSO และ SCIM หนึ่ง instance ให้ทั้งองค์กรใช้ได้ และเซิร์ฟเวอร์แรงเครื่องเดียวรันโมเดลให้ทั้งทีมได้
ใช้งานเป็นภาษาไทยได้บางส่วน
มีหน้าจอภาษาไทยมาในตัว เป็น locale รหัส th-TH ชื่อ Thailand (ไทย) มีคำแปลแล้วราว 95% ของข้อความ แต่คู่มือมีภาษาอังกฤษอย่างเดียว และยังไม่มีข้อมูลว่าโมเดลใดใช้ภาษาไทยได้
วิธีเริ่มใช้
Docker (macOS, Linux)
- ติดตั้ง Docker (โปรแกรมรันซอฟต์แวร์ใน container) และเตรียมตัวรันโมเดล เช่น Ollama ไว้ในเครื่อง
- สร้างคีย์ลับด้วย openssl rand -hex 32 แล้วนำผลลัพธ์ไปแทน your-secret-key ในคำสั่งถัดไป
- รัน docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data -e WEBUI_SECRET_KEY=your-secret-key --name open-webui --restart always ghcr.io/open-webui/open-webui:main
- เปิด http://localhost:3000 ในเบราว์เซอร์
- ห้ามตัด -v open-webui:/app/backend/data ออก เพราะแชต ผู้ใช้ และการตั้งค่าอยู่ใน volume นี้
Windows (Docker + WSL)
- ติดตั้ง WSL
- ติดตั้ง Docker Desktop โดยเลือก backend แบบ WSL 2
- เปิด WSL integration ใน Docker Desktop
- รันคำสั่ง docker run ชุดเดียวกับด้านบนจาก WSL terminal ไม่ใช่จาก PowerShell หรือ Command Prompt
- เปิด http://localhost:3000 ในเบราว์เซอร์
Docker พร้อมการ์ดจอ Nvidia
- ติดตั้ง Nvidia CUDA container toolkit บน Linux หรือ WSL
- รัน docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data -e WEBUI_SECRET_KEY=your-secret-key --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
- เปิด http://localhost:3000 ในเบราว์เซอร์
Docker แบบมี Ollama ในตัว (image :ollama)
- มีการ์ดจอ: รัน docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data -e WEBUI_SECRET_KEY=your-secret-key --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
- ใช้ CPU อย่างเดียว: รัน docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data -e WEBUI_SECRET_KEY=your-secret-key --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
- เปิด http://localhost:3000 ในเบราว์เซอร์
Docker Compose
- สร้างไฟล์ docker-compose.yml ที่ใช้ image ghcr.io/open-webui/open-webui:main, ports "3000:8080", volume open-webui:/app/backend/data, extra_hosts host.docker.internal:host-gateway, ตัวแปร WEBUI_SECRET_KEY และ restart unless-stopped
- รัน docker compose up -d
- ถ้าไม่ตั้ง OLLAMA_BASE_URL image จะหา Ollama ที่ http://host.docker.internal:11434 แล้วตามด้วย :12434
Python (pip)
- ใช้ Python 3.11 หรือ 3.12 (ยังไม่รองรับ Python 3.13)
- บน Linux x86_64 ที่ไม่มีการ์ดจอ NVIDIA ให้รันก่อน: pip install torch --index-url https://download.pytorch.org/whl/cpu
- รัน pip install open-webui
- รัน open-webui serve หรือกำหนดที่เก็บข้อมูลด้วย DATA_DIR=~/.open-webui open-webui serve
- เปิด http://localhost:8080 ในเบราว์เซอร์
- เปลี่ยน port (หมายเลขช่องทางเชื่อมต่อของเครื่อง) ได้ด้วย open-webui serve --port 3000
uv (macOS, Linux, Windows)
- ติดตั้ง uv บน macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh
- ติดตั้ง uv บน Windows: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
- รันบน macOS/Linux: DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve
- รันบน Windows PowerShell: $env:DATA_DIR="C:\open-webui\data"; uvx --python 3.11 open-webui@latest serve
- เปิด http://localhost:8080 ในเบราว์เซอร์
- ต้องตั้ง DATA_DIR เสมอ ไม่อย่างนั้น uvx อาจเก็บข้อมูลในโฟลเดอร์ชั่วคราวที่ถูกลบเมื่อโปรแกรมหยุด
แอปเดสก์ท็อป (macOS, Windows, Linux)
- ดาวน์โหลดตัวติดตั้งจาก github.com/open-webui/desktop: macOS Apple Silicon และ Intel (.dmg), Windows x64 และ ARM64 (.exe), Linux x64 (AppImage, .deb, .snap, .flatpak) และ Linux ARM64 (AppImage, .deb)
- ติดตั้งแล้วเปิดแอป ครั้งแรกต้องต่ออินเทอร์เน็ต
- เลือกใช้ llama.cpp engine ในตัว หรือต่อกับเซิร์ฟเวอร์อื่น
เริ่มใช้ครั้งแรก
- หน้าแรกให้กด Create Admin Account บัญชีแรกนี้เป็นผู้ดูแลระบบ
- ไปที่รูป avatar > Settings > Admin > Connections เพื่อต่อกับตัวรันโมเดลหรือ API
- กด New Chat
- เลือกโมเดลจากตัวเลือกโมเดล
- พิมพ์ข้อความแล้วกด Enter
ต่อกับ Ollama
- Ollama ในเครื่องเดียวกันถูกพบเองที่ http://host.docker.internal:11434 (Docker) หรือ http://localhost:11434 (Python) และแสดงใต้ Manage Ollama API Connections
- Ollama อยู่เครื่องอื่น: เพิ่ม -e OLLAMA_BASE_URL=http://server:11434 ในคำสั่ง docker run หรือใส่ URL ที่ connection
- ดาวน์โหลดโมเดล: พิมพ์ชื่อโมเดลในตัวเลือกโมเดล หรือไปที่ Settings > Admin > Connections > Manage แล้วใช้ Pull a model from Ollama.com
- โมเดล GGUF (รูปแบบไฟล์โมเดลสำหรับรันในเครื่อง) จาก Hugging Face: ใส่ hf.co/{username}/{repository}:{quantization} เช่น hf.co/ggml-org/gemma-3-270m-it-GGUF:Q8_0 โดย quantization คือระดับการบีบอัดของโมเดล
- ถ้ารายชื่อโมเดลว่างตอนใช้ Docker: ตั้ง OLLAMA_HOST=0.0.0.0 ที่ Ollama แล้ว restart Ollama
ต่อกับ LM Studio
- เปิดเซิร์ฟเวอร์ใน LM Studio ที่แท็บ Local Server ก่อน
- ใน Open WebUI กด + ข้าง Manage OpenAI API Connections
- ใส่ URL http://localhost:1234/v1
- API Key เว้นว่าง หรือใส่ lm-studio เป็นค่าแทน
- เลือก Provider เป็น LM Studio (ไม่บังคับ ใช้เพื่อจัดการโมเดลจาก Open WebUI) แล้วกด Save
ต่อกับ llama.cpp
- รัน ./llama-server --model /path/to/model.gguf --port 10000 --ctx-size 1024 --n-gpu-layers 40
- ไปที่ Settings > Admin > Connections > OpenAI > Add Connection
- ใส่ URL http://127.0.0.1:10000/v1 หรือ http://host.docker.internal:10000/v1 ถ้า Open WebUI รันใน Docker ต้องมี /v1 ต่อท้าย
- ตั้ง Auth เป็น None และ Provider เป็น llama.cpp
อัปเดต (Docker)
- รัน docker pull ghcr.io/open-webui/open-webui:main
- รัน docker stop open-webui
- รัน docker rm open-webui
- รันคำสั่ง docker run เดิมอีกครั้งโดยใช้ volume เดิม การ pull image อย่างเดียวไม่พอ
ถอนการติดตั้ง
- Docker: รัน docker rm -f open-webui
- ลบ image (ไม่บังคับ): docker rmi ghcr.io/open-webui/open-webui:main
- ลบข้อมูลทั้งหมด (ไม่บังคับ): docker volume rm open-webui
- pip: รัน pip uninstall open-webui แล้วลบโฟลเดอร์ DATA_DIR
- uv: รัน uv tool uninstall open-webui แล้วรัน uv cache clean
ใช้กับเครื่องแบบไหนได้
| ระบบปฏิบัติการ | macOS, Linux (x86_64 และ ARM64 รวมถึง Raspberry Pi และ NVIDIA DGX Spark) และ Windows ไม่ได้บอกเลขเวอร์ชันของระบบปฏิบัติการหรือความต้องการของ CPU สำหรับตัวเซิร์ฟเวอร์ |
|---|---|
| วิธีติดตั้ง | Docker เป็นวิธีที่รองรับเป็นทางการและแนะนำสำหรับผู้ใช้ส่วนใหญ่ Python (pip, uv) เหมาะกับเครื่องทรัพยากรน้อยหรือการตั้งค่าเอง Kubernetes สำหรับองค์กรที่ต้องขยายระบบ และยังมี Docker Desktop Extension, Podman, Docker Swarm, Helm, Conda, venv |
| Python | รองรับ Python 3.11 และ 3.12 ยังไม่รองรับ Python 3.13 ค่า requires-python คือ >= 3.11, < 3.13.0a1 |
| RAM ของ Open WebUI เอง | สำหรับ container ที่จำกัดหน่วยความจำ 1 ถึง 2 GB: 1 GB ต่ำมากสำหรับงาน RAG หรือ embeddings ควรมี 2 GB ขึ้นไป มีโปรไฟล์แนะนำสำหรับ 100% Local, Raspberry Pi / <4GB RAM |
| RAM ของโมเดลเสริม | โมเดล embedding เริ่มต้น (all-MiniLM-L6-v2) รันบน CPU ใช้ RAM ราว 500 MB ต่อ worker ส่วน Whisper ในเครื่องใช้ RAM ราว 500MB ขึ้นไป เครื่องสเปกต่ำใช้ Web API STT ของเบราว์เซอร์แทนได้ ซึ่งไม่ใช้ RAM ของเซิร์ฟเวอร์ |
| ขนาดดาวน์โหลด | image :main ราว 1.62 GB (แบบบีบอัด, Linux/amd64) ส่วน :slim ราว 196 MB แต่ไม่มีชุด ML ในตัว |
| แอปเดสก์ท็อป | ต้องการ macOS 12+, Windows 10+ หรือ Linux รุ่นใหม่ (glibc 2.28+) แบบ Local Models ใช้ disk 5 GB+ และ RAM 16 GB+ แบบ Remote Only ใช้ disk ราว 500 MB และ RAM 4 GB มีหมายเหตุว่า 7B ≈ 8 GB, 13B ≈ 16 GB |
| การ์ดจอ Nvidia | image :cuda รองรับ CUDA 12.8 (ต้องเพิ่ม --gpus all) และ :cuda126 สำหรับ CUDA 12.6 ต้องติดตั้ง Nvidia CUDA container toolkit บน Linux หรือ WSL ยังไม่ชัดว่า image :cuda ช่วยงานส่วนใดบ้าง |
| AMD และ Apple Silicon | AMD มีเฉพาะการติดตั้งแบบ pip โดยใช้ PyTorch รุ่น ROCm ไม่มี image Docker สำหรับ AMD ส่วน Apple Silicon มีแอปเดสก์ท็อป .dmg ที่มี llama.cpp engine ในตัวเป็นตัวเลือก ยังไม่มีข้อมูลเรื่อง Metal หรือ MLX |
| ใครเป็นคนรันโมเดล | ปลายทางที่เลือกเป็นตัวกำหนดว่าโมเดลรันที่ไหน การใช้การ์ดจอและ VRAM (หน่วยความจำของการ์ดจอ) จึงขึ้นกับ Ollama, llama.cpp, vLLM หรือ LM Studio ที่ต่ออยู่ ไม่ใช่ Open WebUI |
โมเดลที่ใช้ได้
| แหล่งโมเดล | ไม่มีโมเดลของตัวเอง โมเดลมาจากสิ่งที่ต่อไว้ คือ Ollama, llama.cpp, LM Studio หรือ API แบบ OpenAI-compatible และ API คลาวด์ |
|---|---|
| ตัวรันในเครื่องที่ต่อได้ | Ollama, llama.cpp, vLLM (http://localhost:8000/v1), LM Studio (http://localhost:1234/v1), LocalAI (http://localhost:8080/v1), Docker Model Runner (http://localhost:12434/engines/llama.cpp/v1) และ Lemonade บน Windows |
| ดาวน์โหลดผ่าน Ollama | แอดมินพิมพ์ชื่อโมเดลในตัวเลือกโมเดล ถ้ายังไม่มี Open WebUI จะถามให้ดาวน์โหลดจาก Ollama หรือใช้ Pull a model from Ollama.com ใน Settings > Admin > Connections > Manage |
| ดาวน์โหลดผ่าน llama.cpp และ LM Studio | เมื่อตั้ง Provider เป็น llama.cpp หรือ LM Studio แอดมินพิมพ์ชื่ออ้างอิงของโมเดลในตัวเลือกโมเดลแล้วกด Download ได้ ดาวน์โหลดพร้อมกันได้สูงสุด 3 รายการ |
| รูปแบบไฟล์ | GGUF เป็นรูปแบบไฟล์โมเดลในเครื่องแบบเดียวที่ถูกเอ่ยถึง ผ่าน Ollama และ llama.cpp ยังไม่มีข้อมูลเรื่อง MLX และ safetensors |
| โมเดลที่สร้างเอง | Models & Agents ใน Workspace ให้ครอบโมเดลฐานด้วยคำสั่ง, tools และ knowledge เพื่อทำเอเจนต์เฉพาะงาน ตั้งสิทธิ์รายผู้ใช้หรือกลุ่มได้ และ Create a model ในหน้า Manage สร้างโมเดล Ollama ใหม่จากโมเดลเดิมด้วย JSON |
| โมเดลแบบคิดก่อนตอบ | โมเดล thinking ของ Ollama ที่ถูกเอ่ยชื่อคือ Qwen3, DeepSeek-R1, DeepSeek-V3.1 และ GPT-OSS ขั้นตอนคิดแสดงในส่วนที่พับได้ ตัวควบคุม think (Ollama) มี Default, On, Custom (low, medium, high, max) และ Off |
| โมเดลสำหรับงานเบื้องหลัง | โมเดลในเครื่องที่แนะนำสำหรับตั้งชื่อแชต ใส่ tag และ autocomplete คือ qwen3.5:2b หรือ qwen3.5:0.8b |
| โมเดล embedding | ค่าเริ่มต้นคือ sentence-transformers/all-MiniLM-L6-v2 ที่รันในเครื่องบน CPU เปลี่ยนได้ด้วย RAG_EMBEDDING_ENGINE เป็น ollama (เช่น nomic-embed-text), openai หรือ azure_openai |
| ลบและถอดโมเดลจากหน่วยความจำ | ลบโมเดล Ollama ได้ที่ Delete a model ในหน้า Manage ปุ่ม Eject ถอดโมเดล Ollama ที่โหลดอยู่เพื่อคืน GPU/VRAM สำหรับ connection แบบ OpenAI-compatible ปุ่ม Eject ใช้ได้กับ llama.cpp เท่านั้น ใช้กับ LM Studio ไม่ได้ |
หน้าตาและการใช้งาน
| รูปแบบ | หน้าเว็บแบบกราฟิกที่เปิดในเบราว์เซอร์ Docker อยู่ที่ http://localhost:3000 ส่วน Python และแอปเดสก์ท็อปอยู่ที่ http://localhost:8080 ตัวเซิร์ฟเวอร์เริ่มจากการพิมพ์คำสั่ง ยกเว้นใช้แอปเดสก์ท็อป |
|---|---|
| ติดตั้งเป็นแอป (PWA) | ทุก instance เป็น Progressive Web App ติดตั้งเป็นแอปแยกบนมือถือ แท็บเล็ต หรือเดสก์ท็อปจากเบราว์เซอร์ได้ มีขั้นตอนสำหรับ Chrome/Edge บนเดสก์ท็อป, Chrome Android, Safari iPhone/iPad และ Firefox Android |
| บัญชีแรก | บัญชีแรกที่สร้างเป็น Admin เมื่อมีบัญชี Admin แล้วการสมัครใหม่ปิดเอง แอดมินเปิดกลับได้ที่ Settings > Admin > Authentication และบัญชีใหม่รอเป็น Pending จนกว่าจะอนุมัติ |
| ฟีเจอร์แชต | Markdown และ LaTeX, แชตหลายโมเดลพร้อมกัน, Notes, Channels, Memory, message queue, Calendar, Automations, usage analytics และ model evaluation arena |
| ตั้งค่าต่อแชตและต่อโมเดล | ตั้ง system prompt และ Advanced Params เช่น num_ctx และ think ได้ต่อแชตที่ Chat Controls หรือต่อโมเดลในตัวแก้ไขโมเดล |
| เสียงเป็นข้อความ | ผู้ให้บริการ speech-to-text มี Local Whisper (ค่าเริ่มต้น ไม่ต้องใช้ API key), OpenAI, OpenAI-compatible ที่ตั้งเอง, Mistral (Voxtral), Deepgram, Azure และ Web API ของเบราว์เซอร์ โมเดล Whisper เริ่มต้นคือ base ผ่าน faster_whisper |
| Voice Mode | เปลี่ยนแชตเป็นการคุยด้วยเสียง มี 2 โหมด คือ Standard ที่ใช้ STT และ TTS ของ instance และ Realtime ที่ใช้โมเดล speech-to-speech จาก OpenAI-compatible Realtime API ซึ่งเพิ่มมาใน v0.12.0 ส่วน TTS มี Azure, ElevenLabs, OpenAI, Transformers และ WebAPI |
| รูปภาพ | สร้างและแก้รูปจาก prompt ในแชตด้วยโมเดลรูปในเครื่องหรือบนคลาวด์ รองรับ OpenAI DALL-E, Gemini, ComfyUI (ในเครื่อง) และ AUTOMATIC1111 (ในเครื่อง) แอดมินต้องเปิดที่ Settings > Admin > Images |
| Temporary Chat | แชตแบบไม่บันทึกประวัติ และบังคับใช้กับผู้ใช้ทุกคนได้ |
API และการต่อกับโปรแกรมอื่น
| ที่อยู่และ port | Docker: http://localhost:3000 (port 8080 ของ container ถูกจับคู่ด้วย -p 3000:8080) Python และแอปเดสก์ท็อป: http://localhost:8080 ค่า PORT เริ่มต้นคือ 8080 และเปลี่ยนได้ด้วย open-webui serve --port 9999 |
|---|---|
| แบบ OpenAI | POST /api/chat/completions เป็น endpoint ที่เข้ากันได้กับ OpenAI API ใช้ได้กับโมเดล Ollama, โมเดล OpenAI และ Open WebUI Function models ส่วน GET /api/models แสดงรายชื่อโมเดล |
| แบบ Anthropic | มี endpoint ที่เข้ากันได้กับ Anthropic Messages API คือ POST /api/message และ POST /api/v1/messages รับได้ทั้ง Authorization: Bearer และ x-api-key |
| Proxy ของ Ollama | ส่งต่อไปยัง API ของ Ollama โดยตรงที่ /ollama/<api> เช่น curl http://localhost:3000/ollama/api/generate -H "Authorization: Bearer YOUR_API_KEY" |
| การยืนยันตัวตน | ใช้ Bearer token ที่เป็น API key จาก Settings > Account หรือ JWT แอดมินต้องเปิด API Keys ที่ Settings > Admin > Authentication ก่อน ผู้ใช้ที่ไม่ใช่แอดมินต้องได้สิทธิ์ API Keys ด้วย แต่ละบัญชีมี API key ได้ 1 คีย์ |
| tools ผ่าน API | endpoint chat completions รัน tools ฝั่งเซิร์ฟเวอร์ได้เมื่อส่ง tool_ids ทั้ง Python tools, OpenAPI และ MCP tool servers โดย ID ของ MCP server ใช้รูปแบบ server:mcp:<server-id> |
| สิ่งที่ต้องมีจากตัวรันโมเดล | ตัวรันต้องมี /v1/chat/completions (POST) แนะนำให้มี /v1/models ส่วนที่เป็นตัวเลือกคือ /v1/embeddings, /v1/audio/speech, /v1/audio/transcriptions และ /v1/images/generations |
| เปิดให้เครื่องอื่นเข้า | ทำได้ 3 ทาง คือใน LAN ผ่าน IP และ port ของเครื่อง (เช่น http://192.168.1.100:3000), เครือข่ายส่วนตัว (Tailscale, Cloudflare Tunnels, ngrok) และ HTTPS สาธารณะหลัง reverse proxy (Nginx, Caddy, HAProxy) ไม่มี HTTPS ในตัว |
| หลาย Ollama และการขยายระบบ | เพิ่ม Ollama ได้หลาย instance แล้วกระจายคำขอแบบสุ่ม โดย ID ของโมเดลต้องตรงกันทุกตัว ค่าเริ่มต้นคือ Uvicorn worker ตัวเดียวกับ SQLite การขยายแนวนอนต้องใช้ PostgreSQL, vector database แบบ client-server, shared file storage และ Redis |
| สถานะของ API | API ยังเป็น experimental setup หน้า Swagger ที่ /docs เปิดเฉพาะเมื่อตั้งตัวแปร ENV เป็น dev ส่วน Direct Connections ที่ให้เบราว์เซอร์ต่อ endpoint เองยังเป็น experimental และปิดเป็นค่าเริ่มต้น |
ถามตอบจากไฟล์ tools และ MCP
| RAG ทำงานอย่างไร | Open WebUI แบ่งไฟล์เป็นชิ้น แปลงเป็น vector เก็บใน vector database แล้วดึงเฉพาะชิ้นที่เกี่ยวข้องมาตอนแชต ใช้ได้ 2 แบบ คือแนบไฟล์ครั้งเดียวด้วยการลากลงแชต และ Knowledge base ที่ Workspace > Knowledge ซึ่งแนบด้วย # หรือผูกกับโมเดล |
|---|---|
| Knowledge base | เลือก Focused Retrieval (RAG, ค่าเริ่มต้น) หรือ Full Context ที่ใส่ไฟล์ทั้งฉบับ มี hybrid search (BM25 + vector) พร้อม reranking, agentic retrieval, โฟลเดอร์ซ้อนกัน, sync โฟลเดอร์แบบเพิ่มส่วนต่าง รองรับ vector database 13 ตัว (ChromaDB และ PGVector ดูแลเป็นทางการ) และ extraction engine 8 ตัว |
| ค่าเริ่มต้นของ RAG | Text Splitter character, Chunk Size 1000, Chunk Overlap 100, Top K 3, embedding all-MiniLM-L6-v2, vector DB ChromaDB และแยกข้อความด้วย pypdf ค่าที่แนะนำคือ token splitter, chunk 2000, overlap 200, Top K 15 และลดเหลือ 5 สำหรับโมเดลในเครื่องที่ context เล็ก |
| หน้าเว็บและ YouTube | พิมพ์ # ตามด้วย URL เพื่อดึงหน้าเว็บเข้าแชต และใช้ transcript ของ YouTube เป็นแหล่ง RAG ได้ |
| Web Search | เป็น tool ในตัว เปิดที่ Settings > Admin > Web Search รองรับผู้ให้บริการมากกว่า 20 ราย แบบตั้งเองไม่ต้องใช้ API key คือ SearXNG แบบ API เชิงพาณิชย์มี Tavily, Brave, Exa AI, Perplexity Search, Firecrawl และอื่น ๆ |
| Tools | มี 3 กลุ่ม คือ Built-in, Python Tools ที่เขียนเองใน Workspace > Tools และ Tool servers แบบ MCP หรือ OpenAPI ที่ Settings > Admin > Integrations ตั้งแต่ v0.10.0 โหมด Native (Agentic) เป็นค่าเริ่มต้น ส่วนโหมดเดิมเปลี่ยนชื่อเป็น Legacy และไม่รองรับแล้ว |
| Functions | ทำงานระดับแพลตฟอร์ม มี Pipes (เพิ่มโมเดลใหม่ที่มีโค้ดอยู่ข้างหลัง), Filters (แก้ทุกคำขอและคำตอบ) และ Actions (ปุ่มใต้ข้อความ) Functions รันโค้ด Python บนเซิร์ฟเวอร์ของคุณ และสร้างได้เฉพาะแอดมิน |
| MCP | รองรับ MCP ในตัวตั้งแต่ v0.6.31 เฉพาะ transport แบบ Streamable HTTP เพิ่มที่ Settings > Admin > Integrations > External Tool Servers > + Add Connection > Type MCP (Streamable HTTP) เพิ่มได้เฉพาะแอดมิน และสำหรับการติดตั้งส่วนใหญ่ OpenAPI ยังเป็นทางที่แนะนำมากกว่า |
| MCP แบบอื่น | MCP transport แบบอื่นหรือแบบที่ไม่ใช่ HTTP ต้องผ่าน MCPO ซึ่งเป็น proxy ทางการที่แปลง MCP เป็น OpenAPI (github.com/open-webui/mcpo) |
| เอเจนต์และ Pipelines | Open Terminal ให้โมเดลมี shell จริง โดยค่าเริ่มต้นอยู่ใน Docker container ส่วน Open WebUI Computer เป็นแอปเอเจนต์แยก Pipelines ซึ่งเป็น container แยกกลายเป็น legacy และไม่แนะนำสำหรับการติดตั้งใหม่ |
ข้อมูลและความเป็นส่วนตัว
| ข้อมูลอยู่ที่ไหน | Open WebUI ไม่ส่งข้อมูลไปบริการภายนอกเป็นค่าเริ่มต้น ถ้าต่อกับผู้ให้บริการโมเดลภายนอก prompt และคำตอบจะถูกส่งไปที่ผู้ให้บริการนั้น ที่เหลือรันและเก็บในเครื่องหรือเซิร์ฟเวอร์ของคุณ |
|---|---|
| บัญชีผู้ใช้ | การสมัครสร้างบัญชีแอดมินในเครื่อง ข้อมูลทั้งหมดเก็บบนเซิร์ฟเวอร์ของคุณ ไม่ถูกส่งให้ Open WebUI หรือบุคคลที่สามเป็นค่าเริ่มต้น |
| ที่เก็บข้อมูล | Docker เก็บใน volume ที่ mount ไว้ที่ /app/backend/data บน Linux ส่วนใหญ่อยู่ที่ /var/lib/docker/volumes/open-webui/_data ส่วน pip เก็บในโฟลเดอร์ที่ตั้งเป็น DATA_DIR ถ้าไม่ตั้งจะอยู่ใน site-packages/open_webui/data |
| การเชื่อมต่อออกเองในค่าเริ่มต้น | การติดตั้งมาตรฐานเรียกออก 3 อย่าง คือตรวจเวอร์ชันที่ GitHub (ปิดด้วย ENABLE_VERSION_UPDATE_CHECK=false), ขอรายชื่อโมเดลจาก OpenAI connection เริ่มต้น (หายเมื่อลบ connection หรือตั้ง ENABLE_OPENAI_API=false) และตรวจอัปเดตโมเดล embedding ที่ Hugging Face ทุกครั้งที่เริ่ม (ปิดด้วย RAG_EMBEDDING_MODEL_AUTO_UPDATE=false) ขณะที่หน้า FAQ บอกว่าไม่มีการเรียกออกภายนอกเป็นค่าเริ่มต้น |
| โหมดออฟไลน์ | ตั้ง OFFLINE_MODE=true ซึ่งตั้ง HF_HUB_OFFLINE=1 ปิดการตรวจเวอร์ชัน และปิด *_AUTO_UPDATE ทั้ง 3 ตัว ต้องเตรียมโมเดลและ cache ก่อน ตัวแปรนี้ไม่ได้ปิดกั้นการเชื่อมต่อออก API โมเดลภายนอก, OAuth, web search และ tools ยังเรียกเครือข่ายได้ถ้าเครือข่ายอนุญาต |
| ข้อยกเว้นของ image :slim | บน image :slim code interpreter ทำให้เบราว์เซอร์ดึงแพ็กเกจ Python จาก cdn.jsdelivr.net เครือข่ายที่ตัดจากอินเทอร์เน็ตควรปิด code interpreter หรือใช้ image มาตรฐาน |
| แอดมินเห็นแชตได้ | แอดมินเข้าถึงได้กว้างโดยการออกแบบ จำกัดได้ด้วย ENABLE_ADMIN_CHAT_ACCESS=false และ ENABLE_ADMIN_EXPORT=false สำหรับ SQLite ควรวางโฟลเดอร์ข้อมูลบนระบบไฟล์ที่เข้ารหัส (LUKS, BitLocker, FileVault) และ SQLCipher ไม่รองรับตั้งแต่ v0.9.0 |
| ฟีเจอร์ที่ใช้อินเทอร์เน็ต | ไม่มีบริการ Open WebUI แบบโฮสต์ให้ ฟีเจอร์ที่แตะอินเทอร์เน็ตเป็นตัวเลือกทั้งหมด คือโมเดลคลาวด์, web search แบบโฮสต์, Community Sharing ที่อัปโหลดแชตไปเว็บ Open WebUI Community (ปิดด้วย ENABLE_COMMUNITY_SHARING=false) และการนำเข้า plugin จาก openwebui.com |
| Telemetry | แอปเดสก์ท็อปประกาศว่า No telemetry. No tracking. No phone-home. ส่วนตัวโปรเจกต์หลักยังไม่มีข้อความเรื่อง telemetry โดยตรง มีเพียงรายการการเชื่อมต่อออกในค่าเริ่มต้นด้านบน |
ลิขสิทธิ์และการใช้ในบริษัท
| สัญญาอนุญาต | Open WebUI License เป็นข้อความแบบ BSD-3 (3 ข้อ) และเพิ่มข้อที่ 4 ที่ห้ามแก้ ลบ บัง หรือแทนที่แบรนด์ Open WebUI ตั้งแต่ v0.6.6 ไม่ใช่สัญญาอนุญาต open source ที่ OSI รับรอง แต่ source code ทั้งหมดเปิดเผยและพัฒนาแบบเปิด |
|---|---|
| ประวัติสัญญาอนุญาต | เปลี่ยนตั้งแต่ v0.6.6 (April 19, 2025) โค้ดถึง v0.6.5 ยังเป็น BSD-3-Clause และก่อนหน้านั้นมีช่วงที่เป็น MIT License ใครก็ fork จาก v0.6.5 ได้โดยไม่มีข้อจำกัด |
| ใช้ในบริษัท | ใช้ รันในเครื่อง ต่อยอด โฮสต์ให้ทีมหรือธุรกิจ และเก็บเงินค่าเข้าใช้ได้ ตราบใดที่ทำตามเงื่อนไขเรื่องแบรนด์ ติดตั้งให้ผู้ใช้ภายในองค์กรกี่คนก็ได้โดยไม่ต้องซื้อ license ถ้าคงแบรนด์ทางการไว้ครบ |
| ข้อยกเว้นเรื่องแบรนด์ | แก้หรือลบแบรนด์ได้ใน 3 กรณี คือผู้ใช้ปลายทางรวมไม่เกิน 50 คนในรอบ 30 วันใดก็ตาม, ได้รับอนุญาตเป็นลายลักษณ์อักษรจากเจ้าของลิขสิทธิ์ หรือมี enterprise license ที่อนุญาตไว้ |
| สิ่งที่ทำไม่ได้และทำได้ | ถ้าไม่มี enterprise license ห้ามลบโลโก้หรือชื่อ ห้ามเปลี่ยนสีโลโก้ ห้าม co-branding ทุกแบบ ห้าม white-label และห้ามเหลือแค่เครดิต Powered by Open WebUI ที่ทำได้คือ plugin และส่วนขยาย UI ที่คงแบรนด์ไว้, แถบเล็ก Managed by YourOrg และ fork สาธารณะที่คงแบรนด์พร้อมข้อความแจ้งว่าเป็น fork |
| Enterprise License | ครอบคลุม white-label และ custom theming, dedicated support และ SLA, Long-Term Support (LTS) และของเฉพาะ enterprise เช่น Terminals ขายผ่าน Contact Enterprise Sales โดยแจ้งจำนวนผู้ใช้ รับเฉพาะนิติบุคคลและองค์กรที่จดทะเบียน อีเมลส่วนตัวจะไม่ได้รับคำตอบ |
| บทบาทและสิทธิ์ | มี 3 บทบาท คือ Admin, User และ Pending สิทธิ์มี 3 ชั้น คือ Roles, Permissions รายฟีเจอร์ และ Groups โมเดลและ Knowledge base ตั้งเป็นส่วนตัวหรือแชร์ให้กลุ่มหรือรายคนได้ |
| SSO และ directory | รองรับ OAuth / OIDC (Google, Microsoft, Okta, Keycloak), การจับคู่กลุ่มจาก IdP, SCIM 2.0, LDAP/Active Directory, SSO ผ่าน trusted headers และ two-factor sign-in ในตัว |
| แอปเดสก์ท็อป | แอปเดสก์ท็อปใช้ AGPL-3.0 ซึ่งเป็นสัญญาอนุญาตคนละฉบับกับโปรเจกต์หลัก |
ภาษาไทย
| หน้าจอภาษาไทย | มี locale ภาษาไทยมากับแอป รหัส th-TH ชื่อ Thailand (ไทย) เป็น 1 ใน 64 locale ของหน้าจอ |
|---|---|
| ความครบของคำแปล | ไฟล์คำแปล th-TH มี 3,856 key โดย 181 key ยังว่าง คิดเป็นราว 95% ที่มีคำแปลไทย ข้อความที่ยังว่างแสดงเป็นภาษาอังกฤษแทน |
| วิธีเปลี่ยนภาษา | ภาษาเป็นการตั้งค่ารายผู้ใช้ที่รูป avatar > Settings > General > Language ตัวแปร DEFAULT_LOCALE กำหนดภาษาตอนเข้าครั้งแรก ถ้าไม่ตั้งจะเลือกตามภาษาของเบราว์เซอร์ และใช้ en-US เป็นค่าสำรอง |
| คำแปลของเนื้อหา | ไม่มีการแปลอัตโนมัติ แอดมินเก็บชื่อโมเดล คำอธิบาย tool แบนเนอร์ และ prompt suggestions แยกตามภาษาได้ และแก้ข้อความหน้าจอในตัวได้ที่ UI Translations |
| คู่มือภาษาไทย | ไม่มี คู่มือมีภาษาอังกฤษอย่างเดียว |
| โมเดลภาษาไทย | ยังไม่มีข้อมูลว่าโมเดลใดใช้ภาษาไทยได้ และไม่ได้บอกคุณภาพของภาษาไทย คุณภาพขึ้นกับโมเดลที่ต่อไว้ |
ราคาและแผน
| แผน | ราคา | ได้อะไรบ้าง |
|---|---|---|
| Standard Use | Free | ฟรีสำหรับทุกคนภายใต้ Open WebUI License ใช้ภายในองค์กรได้โดยคงแบรนด์เดิมไว้ครบ ไม่ต้องทำสัญญา enterprise และไม่จำกัดจำนวนผู้ใช้ภายใน |
| Enterprise License | ไม่แสดงราคา ติดต่อ Contact Enterprise Sales | จำเป็นเมื่อต้องการ white-label, rebranding, แก้แบรนด์เดิม หรือใช้ของเฉพาะ enterprise เช่น Terminals ได้ custom theming, Dedicated Account Manager, Office Hours with Core Engineers, Dedicated Support Channels, Consulting Hours และ SLA เป็นการให้คำแนะนำ ไม่ใช่บริการติดตั้งให้ |
| แอปเดสก์ท็อป (Native Desktop App) | ไม่แสดงราคา ดาวน์โหลดจาก GitHub | แอปแยกภายใต้ AGPL-3.0 ดาวน์โหลดจาก github.com/open-webui/desktop มี llama.cpp engine ในตัวเป็นตัวเลือก สถานะ Early Alpha |
ข้อจำกัดและสิ่งที่ควรรู้ก่อนเริ่ม
- รองรับ Python 3.11 และ 3.12 เท่านั้น ยังไม่รองรับ Python 3.13
- MCP ในตัวรองรับเฉพาะ transport แบบ Streamable HTTP และเพิ่มได้เฉพาะแอดมิน transport แบบอื่นต้องผ่าน MCPO
- ไม่มี HTTPS ในตัว ต้องวางหลัง reverse proxy เอง และ speech-to-text กับ text-to-speech อาจต้องใช้ HTTPS เพราะเบราว์เซอร์จำกัดไมโครโฟนไว้กับการเชื่อมต่อที่ปลอดภัย
- GPU ใน Docker มีเฉพาะ Docker for Windows และ Docker Engine บน Linux ส่วน Docker Desktop for Linux และ MacOS ยังไม่มี
- แต่ละบัญชีมี API key ได้ 1 คีย์ และแอดมินต้องเปิดฟีเจอร์ API Keys ก่อน
- ค่าเริ่มต้นคือ Uvicorn worker ตัวเดียวกับ SQLite และ ChromaDB เริ่มต้นไม่ปลอดภัยสำหรับการรันหลาย worker หรือหลาย replica
- ดาวน์โหลดโมเดลผ่าน llama.cpp หรือ LM Studio พร้อมกันได้สูงสุด 3 รายการรวมทุกปลายทาง
- ลบแบรนด์ Open WebUI ไม่ได้เมื่อมีผู้ใช้ปลายทางเกิน 50 คนในรอบ 30 วัน ถ้าไม่มี enterprise license หรือหนังสืออนุญาต
- Open WebUI ไม่ใช่ตัวรันโมเดล ไม่มีโมเดลของตัวเอง ต้องมี Ollama, llama.cpp, LM Studio หรือ API ก่อน ยกเว้นใช้ image :ollama หรือแอปเดสก์ท็อป
- ต้องใส่ -v open-webui:/app/backend/data ทุกครั้ง ถ้าไม่มี volume การลบ container จะทำให้ข้อมูลหายถาวร
- ต้องตั้ง WEBUI_SECRET_KEY ให้คงที่ ไม่อย่างนั้นทุกครั้งที่สร้าง container ใหม่ผู้ใช้ทุกคนจะถูก logout และ token ของ tools ที่เก็บไว้จะขึ้น Error decrypting tokens
- ใน Docker คำว่า localhost หมายถึงตัว container เอง ต้องใช้ host.docker.internal และให้ Ollama ฟังที่ 0.0.0.0
- บัญชีแรกเป็นแอดมิน ถ้าลืมรหัสผ่านจะเข้าการตั้งค่าของ instance ไม่ได้ บัญชีที่สมัครหลังจากนั้นรอเป็น Pending
- tag :latest เป็น image เดียวกับ :main ที่เปลี่ยนตลอด ไม่ได้ชี้ไปรุ่น stable ใหม่สุด งาน production ควรใช้ tag :vX.Y.Z ส่วน :slim ตัด embedding ในเครื่อง, Whisper และการแยกข้อความจากไฟล์ออก การอัปโหลด PDF/Office จะได้ 503 ถ้าไม่มีบริการภายนอก
- เมื่อใช้ Ollama กับการ์ดจอที่ VRAM ต่ำกว่า 24 GiB context เริ่มต้นคือ 4096 token ข้อมูลที่ RAG ดึงมาอาจไม่ถูกใช้เลย ควรเพิ่มเป็น 8192+ ใน Advanced Params ของโมเดล และการเปิด num_ctx จะใส่ค่า 2048 ให้ก่อน
- งานเบื้องหลัง เช่น ตั้งชื่อแชต ใส่ tag และ follow-up ใช้โมเดลแชตหลักเป็นค่าเริ่มต้น ทำให้มีคำขอเพิ่ม ควรตั้ง Task Model ตัวเล็กแยก
- plugin (Tools, Functions) รันโค้ด Python บนเซิร์ฟเวอร์ของคุณ plugin ที่ถูกแนะนำหรือได้รับความนิยมบนเว็บ community ไม่ได้ผ่านการตรวจความปลอดภัย ควรอ่านโค้ดก่อนนำเข้า
- OFFLINE_MODE ไม่ได้ปิดกั้นเครือข่ายเอง และการติดตั้งใหม่ที่ตัดอินเทอร์เน็ตทันทีจะล้มที่ไฟล์แรกด้วยข้อความ No embedding model is loaded ถ้าไม่ได้เตรียม cache
- โหมดผู้ใช้คนเดียว (WEBUI_AUTH=False) ใช้ได้เฉพาะการติดตั้งใหม่ที่ยังไม่มีผู้ใช้ และสลับกลับเป็นหลายบัญชีภายหลังไม่ได้
- แอปเดสก์ท็อปเป็น Early Alpha ต้องต่ออินเทอร์เน็ตตอนเปิดครั้งแรก และงาน production ควรติดตั้งผ่าน Docker หรือ Python
คำถามที่คนถามเกี่ยวกับ Open WebUI
Open WebUI คืออะไร
Open WebUI คือแพลตฟอร์ม AI แบบ self-hosted ที่เป็นหน้าเว็บแชต ติดตั้งบนเครื่องหรือเซิร์ฟเวอร์ของตัวเองแล้วเปิดผ่านเบราว์เซอร์ ต่อได้ทั้งโมเดลในเครื่องและโมเดลคลาวด์ผ่าน Ollama และ OpenAI-compatible API ตัวมันเองไม่มีโมเดล
Open WebUI ต้องลงคู่กับโปรแกรมอื่นไหม
ต้อง เพราะ Open WebUI ไม่มีโมเดลของตัวเอง ต้องมีตัวรันโมเดลหรือ API อยู่ข้างหลัง แต่ไม่จำเป็นต้องเป็น Ollama จะใช้ llama.cpp, LM Studio, vLLM, LocalAI หรือ API ที่เข้ากันได้กับ OpenAI ก็ได้ ข้อยกเว้นคือ image Docker tag :ollama ที่รวม Ollama มาในตัว และแอปเดสก์ท็อปที่มี llama.cpp engine ในตัว
Open WebUI ฟรีไหม ใช้ในบริษัทได้ไหม
ฟรีสำหรับทุกคน ใช้ในบริษัทกับผู้ใช้ภายในกี่คนก็ได้ถ้าคงแบรนด์ Open WebUI ไว้ครบ ถ้าจะลบหรือเปลี่ยนแบรนด์เมื่อมีผู้ใช้เกิน 50 คนในรอบ 30 วัน ต้องมี Enterprise License ซึ่งไม่แสดงราคา
ติดตั้ง Open WebUI ยังไง
วิธีที่แนะนำคือ Docker รันคำสั่ง docker run ที่ใช้ image ghcr.io/open-webui/open-webui:main แล้วเปิด http://localhost:3000 อีกทางคือ pip install open-webui ตามด้วย open-webui serve แล้วเปิด http://localhost:8080 บน Windows ให้รันคำสั่ง Docker จาก WSL terminal
Open WebUI ต้องใช้สเปกเครื่องเท่าไร
ไม่ได้บอกสเปกขั้นต่ำของเซิร์ฟเวอร์เป็นรายการ มีเพียงคำแนะนำว่า container ควรมี RAM 2 GB ขึ้นไปถ้าใช้ RAG แอปเดสก์ท็อปแบบ Remote Only ใช้ RAM 4 GB และแบบรันโมเดลในเครื่องใช้ RAM 16 GB+ สเปกสำหรับตัวโมเดลขึ้นกับตัวรันที่ต่อไว้
Open WebUI ใช้ port อะไร เปิด API ยังไง
Docker ใช้ port 3000 ของเครื่อง (จับคู่กับ 8080 ใน container) ส่วน pip, uv และแอปเดสก์ท็อปใช้ 8080 การเปิด API ให้แอดมินเปิด API Keys ที่ Settings > Admin > Authentication สร้างคีย์ที่ Settings > Account แล้วเรียก POST /api/chat/completions ด้วย Bearer token
ลบโมเดลยังไง โมเดลเก็บไว้ที่ไหน
Open WebUI ไม่ได้เก็บไฟล์โมเดลภาษาเอง ไฟล์อยู่กับตัวรัน ถ้าใช้ image :ollama โมเดลอยู่ใน volume ที่ mount ที่ /root/.ollama การลบโมเดล Ollama ทำที่ Settings > Admin > Connections > Manage ใต้ Delete a model เลือกโมเดลแล้วกด Delete Model ซึ่งลบจากเซิร์ฟเวอร์ Ollama และหายสำหรับผู้ใช้ทุกคนของ connection นั้น
ใช้ออฟไลน์ได้ไหม ข้อมูลออกนอกเครื่องไหม
ใช้ออฟไลน์และในเครือข่ายที่ตัดจากอินเทอร์เน็ตได้ โดยตั้ง OFFLINE_MODE=true และเตรียมโมเดลกับ cache ไว้ก่อน แชตและบัญชีเก็บในเครื่องของคุณ แต่การติดตั้งมาตรฐานมีการเรียกออก 3 อย่างที่ปิดได้ และถ้าต่อผู้ให้บริการโมเดลภายนอก prompt กับคำตอบจะถูกส่งไปที่นั่น
Open WebUI รองรับภาษาไทยไหม
หน้าจอมีภาษาไทย เป็น locale รหัส th-TH ชื่อ Thailand (ไทย) มีคำแปลราว 95% ส่วนที่เหลือแสดงเป็นภาษาอังกฤษ เปลี่ยนได้ที่ Settings > General > Language คู่มือมีภาษาอังกฤษอย่างเดียว และการตอบเป็นภาษาไทยขึ้นกับโมเดลที่ต่อไว้
ลิงก์อ้างอิง 37 หน้า
- docs.openwebui.com/getting-started/quick-start/connect-a-provider
- docs.openwebui.com/getting-started/essentials
- docs.openwebui.com/getting-started/sharing
- docs.openwebui.com/reference/api-endpoints
- raw.githubusercontent.com/open-webui/open-webui/main/README.md
- docs.openwebui.com/getting-started/quick-start
- docs.openwebui.com/features/workspace/knowledge
- docs.openwebui.com/tutorials/maintenance/offline-mode
- raw.githubusercontent.com/open-webui/desktop/main/README.md
- raw.githubusercontent.com/open-webui/open-webui/main/LICENSE
- docs.openwebui.com/license
- docs.openwebui.com/faq
- docs.openwebui.com/features/extensibility/mcp
- raw.githubusercontent.com/open-webui/open-webui/main/src/lib/i18n/locales/languages.json
- docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama
- docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-openai-compatible
- docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-llama-cpp
- raw.githubusercontent.com/open-webui/open-webui/main/pyproject.toml
- docs.openwebui.com/troubleshooting/performance
- docs.openwebui.com/getting-started/open-webui-as-app
- docs.openwebui.com/features/chat-conversations/audio/speech-to-text/stt-config
- docs.openwebui.com/features/chat-conversations/chat-features/voice-mode
- docs.openwebui.com/features/chat-conversations/image-generation-and-editing/usage
- docs.openwebui.com/security/chat-data-privacy-and-encryption
- docs.openwebui.com/features/authentication-access/api-keys
- docs.openwebui.com/getting-started/advanced-topics/scaling
- docs.openwebui.com/features/chat-conversations/rag
- docs.openwebui.com/features/extensibility/plugin/functions
- docs.openwebui.com/features/extensibility/pipelines/
- docs.openwebui.com/enterprise
- docs.openwebui.com/features/authentication-access/rbac
- raw.githubusercontent.com/open-webui/open-webui/main/src/lib/i18n/locales/th-TH/translation.json
- docs.openwebui.com/reference/env-configuration
- docs.openwebui.com/features/administration/translations
- raw.githubusercontent.com/open-webui/docs/main/docusaurus.config.ts
- docs.openwebui.com/enterprise/support
- docs.openwebui.com/alternatives/ollama