
Open WebUI là gì?
Open WebUI là một nền tảng AI có khả năng mở rộng, tự lưu trữ, được thiết kế để hoạt động hoàn toàn ngoại tuyến khi được cấu hình với các tài nguyên cục bộ. Nền tảng cung cấp giao diện trên trình duyệt cho các mô hình Ollama cục bộ, các API tương thích với OpenAI và công cụ suy luận tích hợp để tạo sinh tăng cường truy xuất, thường được gọi là RAG.
Bạn có thể sử dụng nền tảng này như một không gian làm việc AI cá nhân hoặc triển khai cho một nhóm. Ngoài các cuộc trò chuyện, nền tảng còn có ghi chú, kênh dùng chung, bộ nhớ lâu dài, lịch, tự động hóa theo lịch, tích hợp tạo ảnh, cuộc gọi thoại và video, phân tích, đánh giá mô hình và kiểm soát truy cập chi tiết.

Tính năng chính
- Kết nối mô hình linh hoạt: Sử dụng các mô hình Ollama cục bộ cùng với những dịch vụ tương thích với OpenAI như LMStudio, GroqCloud, Mistral, OpenRouter và vLLM.
- RAG cục bộ: Thêm tài liệu vào cuộc trò chuyện hoặc truy xuất tệp từ thư viện kiến thức bằng lệnh
#. Nền tảng hỗ trợ tìm kiếm kết hợp, xếp hạng lại, nhiều công cụ trích xuất và chín cơ sở dữ liệu vector. - Mô hình và tác tử: Bọc một mô hình cơ sở bằng hướng dẫn tùy chỉnh, kiến thức, công cụ, biến động và quy tắc truy cập theo người dùng hoặc nhóm.
- Khả năng mở rộng: Thêm Filters, Actions, Pipes, Tools và Skills, hoặc kết nối các máy chủ công cụ MCP, MCPO và OpenAPI.
- Cộng tác: Sử dụng ghi chú, kênh thời gian thực, chuỗi trao đổi, phản ứng, ghim, lịch dùng chung và lập lịch có AI hỗ trợ.
- Nhiều phương thức: Cấu hình chuyển giọng nói thành văn bản, chuyển văn bản thành giọng nói, cuộc gọi thoại và video, cùng các công cụ tạo hoặc chỉnh sửa ảnh.
- Quản trị: Quản lý vai trò, nhóm, quyền, xác thực, phân tích mức sử dụng, đánh giá mô hình, lưu trữ và khả năng quan sát.
- Linh hoạt triển khai: Cài đặt thông qua pip, uv, Docker, Docker Compose, Kubernetes, Kustomize hoặc Helm.
- Giao diện thích ứng: Sử dụng Open WebUI trên máy tính và thiết bị di động, hoặc cài đặt dưới dạng Ứng dụng web tiến bộ.
Chọn phương thức cài đặt
Để kiểm thử cục bộ nhanh chóng, hãy sử dụng pip hoặc Docker. Pip cung cấp Open WebUI trực tiếp từ Python, trong khi Docker tạo ra môi trường triển khai biệt lập và giúp bạn dễ dàng chọn image tiêu chuẩn, hỗ trợ CUDA hoặc tích hợp Ollama.
Quan trọng: Mọi lệnh Docker đều phải mount
open-webui:/app/backend/data. Volume liên tục này bảo vệ cơ sở dữ liệu và dữ liệu ứng dụng khác khi container được thay thế hoặc xóa.
Tùy chọn 1: Cài đặt bằng Python pip
Open WebUI yêu cầu Python 3.11 cho phương thức cài đặt bằng pip được dự án mô tả. Hãy xác nhận môi trường của bạn sử dụng đúng phiên bản Python trước khi tiếp tục.
Cài đặt gói:
pip install open-webuiKhởi động máy chủ:
open-webui serveMở http://localhost:8080 trong trình duyệt.
Tùy chọn 2: Chạy Open WebUI bằng Docker
Kết nối với Ollama trên máy tính máy chủ
Nếu Ollama đang chạy trên cùng máy tính với Docker, hãy khởi động image Open WebUI tiêu chuẩn và thêm ánh xạ máy chủ để container có thể truy cập máy chủ:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:mainSau khi container khởi động, hãy truy cập http://localhost:3000.
Kết nối với Ollama trên máy chủ khác
Đặt OLLAMA_BASE_URL thành địa chỉ của dịch vụ Ollama từ xa:
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:mainThay https://example.com bằng URL máy chủ Ollama thực tế.
Bật hỗ trợ GPU Nvidia
Open WebUI cung cấp image gắn thẻ CUDA. Hãy cài đặt bộ công cụ container Nvidia CUDA trên Linux hoặc WSL trước khi chạy:
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cudaChỉ sử dụng API OpenAI
Nếu không cần Ollama, hãy truyền khóa API OpenAI vào image tiêu chuẩn:
docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:mainThay your_secret_key bằng thông tin xác thực phù hợp. Open WebUI cũng có thể kết nối với các API tương thích với OpenAI khác, với cấu hình riêng cho từng nhà cung cấp được dự án ghi lại.
Chạy Open WebUI và Ollama trong một container
Image :ollama tích hợp Open WebUI và Ollama. Image này sử dụng một volume cho các mô hình Ollama và một volume khác cho dữ liệu ứng dụng Open WebUI.
Ollama tích hợp với GPU
docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollamaOllama tích hợp, chỉ dùng CPU
docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollamaMở http://localhost:3000 sau khi container khởi động.
Cách sử dụng cơ bản
Mở giao diện: Sử dụng cổng
8080cho thiết lập pip hoặc cổng3000cho các lệnh Docker tiêu chuẩn ở trên.Sử dụng mô hình khả dụng: Bắt đầu cuộc trò chuyện với một mô hình được cung cấp bởi kết nối Ollama hoặc OpenAI tương thích đã cấu hình.
Viết prompt phong phú hơn: Các câu trả lời hỗ trợ Markdown và LaTeX, giúp giao diện phù hợp với phần giải thích có cấu trúc, mã, bảng và ký hiệu toán học.
Tiếp tục trên nhiều thiết bị: Giao diện tương thích hoạt động trên máy tính và thiết bị di động, còn hỗ trợ Progressive Web App mang lại trải nghiệm giống ứng dụng.
Sử dụng tài liệu với RAG
Thêm tài liệu trực tiếp vào cuộc trò chuyện hoặc truy xuất chúng từ thư viện bằng lệnh #. Open WebUI có thể trích xuất và lập chỉ mục nội dung, truy xuất các đoạn liên quan rồi đưa chúng vào ngữ cảnh của mô hình. Ngăn xếp RAG hỗ trợ tìm kiếm kết hợp BM25 và vector, xếp hạng lại sowie chế độ ngữ cảnh đầy đủ.
Đối với các triển khai lớn hơn, những tùy chọn cơ sở dữ liệu vector được hỗ trợ gồm ChromaDB, PGVector, Qdrant, Milvus, Elasticsearch, OpenSearch, Pinecone, S3Vector và Oracle 23ai.
Đưa một trang web vào cuộc trò chuyện
Sử dụng lệnh # kèm theo URL để đưa nội dung trang web vào cuộc trò chuyện. Open WebUI cũng có thể được cấu hình để cho phép các mô hình truy xuất nội dung web khi cần.
So sánh nhiều mô hình
Các cuộc trò chuyện đa mô hình cho phép bạn tương tác song song với nhiều mô hình. Tính năng này hữu ích khi bạn muốn so sánh khả năng suy luận, phong cách viết hoặc cách hoạt động của các nhà cung cấp. Quản trị viên cũng có thể sử dụng đấu trường tích hợp, thử nghiệm A/B và bảng xếp hạng dựa trên ELO để đánh giá mô hình.
Mẹo cấu hình nâng cao
Tạo mô hình và tác nhân chuyên biệt
Kết hợp một mô hình cơ sở với hướng dẫn tùy chỉnh, công cụ và kiến thức để tạo tác nhân chuyên biệt. Các biến động và quyền truy cập theo từng người dùng hoặc nhóm giúp bạn tùy chỉnh tác nhân cho các nhóm khác nhau. Các preset do cộng đồng cung cấp cũng có thể được nhập từ Cộng đồng Open WebUI.
Mở rộng nền tảng
Open WebUI hỗ trợ Filters, Actions, Pipes, Tools và Skills. Có thể kết nối các dịch vụ bên ngoài thông qua máy chủ công cụ MCP, MCPO và OpenAPI. Những điểm mở rộng này hỗ trợ các tích hợp tùy chỉnh, quy trình phê duyệt, giới hạn tốc độ và các kết nối dữ liệu bổ sung.
Lập kế hoạch triển khai cho nhóm và doanh nghiệp
Đối với môi trường nhiều người dùng, hãy sử dụng vai trò, nhóm và quyền để kiểm soát quyền truy cập. Open WebUI hỗ trợ tích hợp LDAP và Active Directory, đăng nhập một lần dựa trên trusted-header và OAuth, cùng việc cấp phép SCIM 2.0 cho các nhà cung cấp danh tính như Okta, Azure AD và Google Workspace.
Bộ nhớ có thể sử dụng SQLite, tùy chọn kèm mã hóa, hoặc PostgreSQL. Tệp có thể được lưu trữ cục bộ hoặc trên S3, Google Cloud Storage hay Azure Blob Storage. Phiên được hỗ trợ bởi Redis và WebSocket cho phép triển khai nhiều worker và nhiều node phía sau bộ cân bằng tải, trong khi OpenTelemetry cung cấp trace, metric và log.
Vận hành hoàn toàn ngoại tuyến
Khi chạy Open WebUI trong môi trường ngoại tuyến, hãy đặt HF_HUB_OFFLINE thành 1 để ngăn các nỗ lực tải mô hình từ internet:
export HF_HUB_OFFLINE=1Một triển khai ngoại tuyến vẫn yêu cầu tất cả mô hình, phần phụ thuộc và dịch vụ cục bộ cần thiết phải khả dụng trong môi trường.
Thận trọng khi dùng image phát triển
Image :dev chứa các thay đổi chưa ổn định, mới nhất và có thể có lỗi hoặc tính năng chưa hoàn thiện. Chỉ sử dụng image này khi bạn chấp nhận rủi ro đó:
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui --add-host=host.docker.internal:host-gateway --restart always ghcr.io/open-webui/open-webui:devKhắc phục lỗi kết nối Ollama
Một sự cố Docker phổ biến xảy ra khi Open WebUI không thể kết nối tới Ollama tại 127.0.0.1:11434 hoặc host.docker.internal:11434 từ bên trong container. Một cách khắc phục được tài liệu hóa trên các hệ thống được hỗ trợ là sử dụng mạng máy chủ:
docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:mainVới lệnh này, hãy truy cập Open WebUI tại http://localhost:8080 thay vì cổng 3000.
Nếu kết nối vẫn không thành công, hãy xác nhận Ollama đang chạy, kiểm tra địa chỉ của Ollama và tham khảo tài liệu khắc phục sự cố Open WebUI. Môi trường Docker có thể yêu cầu cấu hình mạng bổ sung.
Bảo trì và bảo mật
Tuân theo hướng dẫn cập nhật chính thức khi thay thế hoặc nâng cấp một triển khai.
Giữ volume Docker lưu trữ liên tục được gắn trong quá trình nâng cấp để tránh mất dữ liệu ứng dụng.
Xem xét giấy phép dự án và lịch sử giấy phép vì codebase chứa các thành phần theo nhiều giấy phép khác nhau, bao gồm các yêu cầu về thương hiệu đối với mã hiện được cấp phép theo giấy phép Open WebUI.
Báo cáo bảo mật các lỗ hổng nghi ngờ thông qua chương trình tiết lộ có trách nhiệm trên GitHub của dự án, không thông qua các kênh cộng đồng công khai.
Kết luận
Open WebUI cung cấp giao diện linh hoạt để chạy các mô hình AI cục bộ và được lưu trữ thông qua hạ tầng do bạn kiểm soát. Bắt đầu với Python 3.11 hoặc triển khai Docker liên tục, kết nối Ollama hoặc API tương thích với OpenAI, sau đó mở rộng sang RAG, tác tử, plugin, cộng tác, phân tích và các dịch vụ sản xuất có khả năng mở rộng. Để biết thêm các tùy chọn triển khai, hãy tham khảo tài liệu bắt đầu chính thức.
