Xây dựng chatbot AI nội bộ trên laptop: Hướng dẫn kết hợp Ollama và Open WebUI bảo mật dữ liệu

Xây dựng chatbot AI nội bộ trên laptop: Hướng dẫn kết hợp Ollama và Open WebUI bảo mật dữ liệu

Chia sẻ:

Nhiều phòng ban vẫn dán hợp đồng, bảng lương hay mã nguồn vào ChatGPT để hỏi nhanh, trong khi quy định bảo mật của công ty cấm đưa dữ liệu ra ngoài. Nghịch lý là phần cứng đủ sức thay thế thói quen đó đã nằm sẵn trên bàn: một laptop 16GB đến 32GB RAM vận hành được mô hình mã nguồn mở đời 2026 với chất lượng hội thoại chấp nhận được. Bài viết hướng dẫn tự dựng chatbot AI nội bộ bằng hai công cụ miễn phí là Ollama và Open WebUI: dữ liệu ở lại trong máy, không cần khóa API, không phí thuê bao, và mở được cho cả nhóm dùng chung qua mạng nội bộ.

Vì sao chatbot AI nội bộ nên chạy ngay trên laptop công ty

Điểm mấu chốt của một chatbot AI nội bộ chạy tại chỗ là dữ liệu không rời máy. Ollama lắng nghe ở địa chỉ cục bộ cổng 11434, Open WebUI gọi vào địa chỉ đó, còn tài liệu được nạp vào kho Knowledge nằm ngay trên ổ SSD. Không có gói tin nào chứa nội dung hội thoại đi ra Internet, trừ lúc tải mô hình lần đầu, nên tính bảo mật được duy trì ở mức cao nhất. Với hồ sơ nhân sự, báo giá hay tài liệu kỹ thuật chưa công bố, đây là khác biệt căn bản so với dịch vụ đám mây.

Vì sao không dùng GPT-2 nữa? Mô hình này công bố năm 2019, phiên bản nhỏ nhất chỉ 124 triệu tham số, cửa sổ ngữ cảnh 1.024 token và chưa qua tinh chỉnh hội thoại, nên câu trả lời hay lan man và không bám tài liệu. Trong khi đó Qwen3.5-9B phát hành tháng 02/2026 có ngữ cảnh 262.144 token, chế độ suy luận trước khi trả lời và hỗ trợ 201 ngôn ngữ, bao gồm tiếng Việt. Chênh lệch này khiến GPT-2 chỉ còn giá trị học thuật.

Chatbot AI nội bộ chạy trên laptop giữ dữ liệu không rời máy

Bài này không lặp lại phần cài đặt cơ bản và xử lý lỗi GPU, vốn đã có trong bài Ollama trên laptop: Vận hành AI cục bộ không cần đám mây. Trọng tâm ở đây là ba việc mà bản dòng lệnh không làm được: giao diện chat cho nhiều tài khoản, kho tài liệu có trích dẫn nguồn, và phân quyền theo nhóm.

Đối tượng phù hợp với chatbot AI nội bộ kiểu này là nhóm làm việc quy mô nhỏ, phòng ban trong doanh nghiệp vừa, hoặc cá nhân muốn tra cứu tài liệu riêng mà không phụ thuộc bên thứ ba. Chi phí phần mềm bằng 0, chi phí phần cứng là chiếc laptop đang có, nên giá trị thực tế đến ngay từ ngày đầu triển khai. Giới hạn thực tế nằm ở số người hỏi cùng lúc và nhiệt độ máy khi chạy dài, sẽ được phân tích ở phần cuối.

Chọn Qwen3.5 hay Gemma 4 theo dung lượng RAM và VRAM

Thư viện Ollama liệt kê họ Qwen3.5 từ 0,8B đến 122B tham số, đều có ngữ cảnh 256K và nhận cả văn bản lẫn hình ảnh. Bản 9B nặng 6,6GB là điểm cân bằng cho chatbot AI nội bộ trên laptop: đủ thông minh để tóm tắt hợp đồng, đủ nhỏ để nằm trọn trong card đồ họa 8GB. Gemma 4 của Google có bản 12B nặng 7,6GB, ngữ cảnh 256K, hỗ trợ gọi hàm và chế độ suy luận cấu hình được. Số liệu lấy từ trang Qwen3.5 trên thư viện Ollama và trang gemma4 cùng nguồn.

Nguyên lý chọn cỡ mô hình khá đơn giản: dung lượng tệp mô hình cộng thêm phần bộ nhớ dành cho ngữ cảnh phải nhỏ hơn VRAM nếu muốn chạy toàn bộ trên GPU. Máy không có card rời thì mô hình nằm trong RAM hệ thống, tốc độ sinh chữ giảm rõ rệt nhưng vẫn khả dụng cho nhóm nhỏ. Bài Local LLM: Cấu hình RAM và VRAM cho model 7B đến 70B đã đo chi tiết từng cỡ mô hình.

Mô hình (tag Ollama) Dung lượng tải Ngữ cảnh Dữ liệu vào Phần cứng gợi ý
qwen3.5:4b 3,4GB 256K Văn bản, hình ảnh 16GB RAM, không cần card rời
qwen3.5:9b 6,6GB 256K Văn bản, hình ảnh GPU 8GB VRAM hoặc 32GB RAM
gemma4:12b 7,6GB 256K Văn bản, hình ảnh GPU 8GB VRAM hoặc 32GB RAM
gemma4:e4b 9,6GB 128K Văn bản, hình ảnh, âm thanh GPU 12GB VRAM hoặc 32GB RAM
qwen3.5:27b 17GB 256K Văn bản, hình ảnh Máy để bàn, GPU 24GB VRAM

Đối chiếu với kho máy đời 2025 và 2026 đang bán, Lenovo Legion 5 15IAX10 (2025) với RTX 5060 8GB và 32GB RAM chạy trọn Qwen3.5 9B hoặc Gemma 4 12B trên GPU. ThinkPad T14s Gen 6 (2025) với 32GB LPDDR5X nhưng chỉ có Intel Arc tích hợp vẫn dựng được chatbot AI nội bộ, chỉ khác là mô hình 9B chạy bằng CPU và bộ nhớ hệ thống, chấp nhận thời gian phản hồi dài hơn.

Sau khi cài Ollama, lệnh tải mô hình là ollama pull qwen3.5:9b hoặc ollama pull gemma4:12b. Máy 16GB RAM không card rời nên bắt đầu từ qwen3.5:4b (3,4GB) để giữ biên độ bộ nhớ cho trình duyệt và Open WebUI. Thử vài câu hỏi bằng tiếng Việt ngay trong terminal trước khi đi tiếp, để xác nhận mô hình đã nhận GPU và hiệu năng phản hồi đạt yêu cầu.

Cài Ollama và Open WebUI bằng Docker hoặc pip từng bước

Bước một để dựng chatbot AI nội bộ là cài Ollama. Windows và macOS tải bộ cài từ ollama.com/download, bản macOS yêu cầu từ macOS 14 Sonoma. Linux dùng một dòng lệnh: curl -fsSL https://ollama.com/install.sh | sh. Cài xong, dịch vụ tự chạy nền và sẵn sàng nhận yêu cầu ở cổng 11434, không cần thao tác thêm.

Bước hai là dựng Open WebUI. Cách khuyến nghị cho máy dùng chung là Docker, vì gói sẵn mọi thư viện và dễ cập nhật. Lệnh chính thức trong tài liệu quick start là 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, trong đó khóa bí mật sinh bằng openssl rand -hex 32. Giao diện mở tại http://localhost:3000.

Cài Ollama và Open WebUI bằng Docker hoặc pip trên laptop

Máy không cài được Docker có thể dùng pip. Tài liệu ghi rõ Open WebUI hỗ trợ Python 3.11 và 3.12, chưa hỗ trợ 3.13. Hai lệnh cần thiết là pip install open-webui rồi open-webui serve, giao diện mở ở cổng 8080. Phương thức này tiện cho thử nghiệm cá nhân, còn với máy phục vụ cả nhóm thì tài liệu chính thức vẫn ưu tiên Docker hoặc Python 3.11 mới nhất.

Tài khoản đầu tiên tạo trên màn hình Get started chính là quản trị viên, nắm toàn bộ thiết lập của hệ thống. Nếu chạy trong Docker mà không thấy mô hình, vào Admin Panel, mục Settings, phần Connections và trỏ địa chỉ Ollama về http://host.docker.internal:11434. Danh sách mô hình đã tải sẽ xuất hiện ở khung chọn phía trên khung chat, và chatbot AI nội bộ đã sẵn sàng nhận câu hỏi đầu tiên.

Nạp tài liệu nội bộ vào Knowledge để trả lời có dẫn nguồn

Đây là bước biến một mô hình chung thành chatbot AI nội bộ hiểu việc của công ty. Trong Open WebUI, mở Workspace, chọn Knowledge, bấm Create rồi đặt tên và mô tả cho kho. Tài liệu chấp nhận gồm PDF, bảng tính, mã nguồn và mọi định dạng văn bản; phía sau có 8 bộ trích xuất như Tika, Docling hay Azure OCR để đọc tệp quét. Nên tách kho theo phòng ban ngay từ đầu để dễ phân quyền về sau.

Kho Knowledge có hai phương thức truy xuất. Focused Retrieval là mặc định: hệ thống chia tài liệu thành đoạn, tìm các đoạn sát câu hỏi nhất rồi đưa vào ngữ cảnh, phù hợp kho lớn. Full Context nạp toàn bộ nội dung tệp vào mỗi tin nhắn, không chia đoạn, không tìm kiếm ngữ nghĩa, chỉ hợp với tài liệu ngắn như quy chế hay bảng giá.

Nạp tài liệu nội bộ vào kho Knowledge của Open WebUI

Để chatbot chỉ trả lời trong phạm vi được phép, vào Workspace, mục Models, chọn Edit và gắn kho Knowledge cụ thể vào mô hình tùy biến; tài liệu ghi rõ mô hình khi đó chỉ tìm trong kho đã gắn. Trong khung chat, gõ ký tự # để đính kèm nhanh một kho hoặc một tệp. Chi tiết từng thiết lập nằm trong trang Knowledge của tài liệu Open WebUI.

Mô hình nhúng (embedding) đổi được trong Admin Panel, mục Settings, phần Documents, hỗ trợ cả mô hình chạy qua Ollama. Cơ sở dữ liệu vector mặc định là ChromaDB, thuộc nhóm được duy trì chính thức bên cạnh PGVector. Câu trả lời kèm trích dẫn tới đoạn tài liệu gốc, nên nhân viên xác minh được nguồn thay vì tin lời mô hình.

Phân quyền tài khoản và nhóm trong Open WebUI để giữ dữ liệu

Open WebUI có ba vai trò tài khoản. Admin toàn quyền quản lý tài khoản, nhóm và thiết lập chung. User không có quyền mặc định nào, mọi năng lực phải được cấp qua quyền mặc định toàn cục hoặc qua nhóm. Pending là trạng thái chờ duyệt, không thấy gì và không thao tác được gì. Tài liệu khuyến nghị đặt biến DEFAULT_USER_ROLE là pending cho máy dùng chung, để admin duyệt từng tài khoản trong Admin Panel, mục Users.

Nhóm tạo trong Admin Panel, mục Users, phần Groups. Một tài khoản thuộc nhiều nhóm sẽ nhận hợp của mọi quyền. Mỗi mô hình và mỗi kho Knowledge có hai trạng thái: Public cho mọi người, hoặc Private rồi cấp quyền Read hay Write cho nhóm hoặc cá nhân cụ thể. Đây là cơ chế để kho tài liệu kế toán của chatbot AI nội bộ không hiện ra với phòng kinh doanh.

Vai trò Quyền mặc định Cách cấp thêm Dùng cho
Admin Toàn quyền hệ thống Không cần Người dựng và bảo trì máy
User Không có, phải được cấp Quyền toàn cục hoặc nhóm Nhân viên các phòng ban
Pending Không thấy, không thao tác được gì Admin duyệt trong Admin Panel Tài khoản mới đăng ký chờ duyệt

Quyền chia thành năm nhóm: Workspace, Sharing, Chat, Features và Settings, theo cấu trúc phân cấp, quyền cha phải bật trước quyền con. Với chatbot AI nội bộ, ba quyền nên tắt cho tài khoản thường là Web Search (tránh gửi câu hỏi ra ngoài), Knowledge Public Sharing (tránh công khai kho) và Allow File Upload nếu muốn mọi tài liệu chỉ qua tay admin.

Tài liệu chính thức khuyên tách hai loại nhóm: nhóm cấp quyền tính năng, đặt chia sẻ là No one, và nhóm chia sẻ tài nguyên cho từng phòng ban, đặt chia sẻ là Members. Cách tổ chức này giữ ma trận quyền gọn khi số tài khoản tăng, và mỗi lần thêm nhân sự chỉ cần gán vào đúng hai nhóm.

Giới hạn khi nhiều người cùng hỏi và cách vận hành ổn định

Một laptop chỉ có một GPU, nên khi vài người gửi câu hỏi cùng lúc, thời gian chờ tăng theo số yêu cầu xếp hàng. Kho Knowledge càng lớn, bước tìm đoạn tài liệu càng tốn thời gian trước khi mô hình bắt đầu sinh chữ. Với nhóm nhỏ, độ trễ này chấp nhận được; với vài chục người hỏi liên tục thì laptop không phải cấu hình phù hợp cho chatbot AI nội bộ.

Máy chạy dịch vụ dài ngày cần cắm sạc liên tục, đặt nơi thoáng và tắt chế độ ngủ khi cắm điện, nếu không phiên chat của cả nhóm sẽ đứt khi máy tự ngủ. Nhiệt độ duy trì ở cường độ cao suốt giờ hành chính cũng khiến quạt ồn hơn bình thường và hiệu năng có thể suy giảm khi máy quá nhiệt, nên cân nhắc để máy ở phòng riêng thay vì trên bàn làm việc chung.

Nhiều người cùng hỏi chatbot AI nội bộ trên một laptop

Dữ liệu cần sao lưu nằm ở hai chỗ: volume open-webui chứa tài khoản, lịch sử chat và kho Knowledge, còn tệp mô hình nằm trong thư mục .ollama của tài khoản máy. Cập nhật Open WebUI chỉ cần kéo ảnh Docker mới và chạy lại container với cùng volume, mọi thiết lập được giữ nguyên.

Khi nhu cầu vượt ngưỡng laptop, hướng đi hợp lý là chuyển chatbot AI nội bộ sang máy để bàn có card đồ họa nhiều VRAM hơn và giữ nguyên toàn bộ cấu hình Open WebUI, thay vì quay lại dịch vụ đám mây. Số liệu tốc độ sinh chữ của từng cỡ mô hình trên laptop 2026 đã được đo trong bài LM Studio hay Ollama chạy AI cục bộ tốt hơn? Thử nghiệm thực tế các model 7B-14B trên laptop 2026.

Câu hỏi thường gặp (FAQ)

Chatbot AI nội bộ dựng bằng Ollama có cần kết nối Internet không?

Chỉ cần mạng ở hai thời điểm: tải bộ cài cùng tệp mô hình lần đầu, và kéo ảnh Docker của Open WebUI. Sau đó toàn bộ hội thoại, truy xuất tài liệu và quản lý tài khoản của chatbot AI nội bộ đều chạy ngoại tuyến trong mạng nội bộ. Quyền Web Search nên tắt để bảo đảm không có câu hỏi nào được gửi ra ngoài.

Laptop không có card đồ họa rời có dựng được không?

Có. Ollama chạy mô hình bằng CPU và RAM hệ thống khi không có GPU phù hợp. Máy 16GB RAM nên dùng Qwen3.5 4B, máy 32GB đáp ứng được bản 9B. Tốc độ sinh chữ thấp hơn máy có card rời, nhưng chức năng kho tài liệu và phân quyền của chatbot AI nội bộ không khác gì.

Lịch sử chat và tài liệu đã nạp được lưu ở đâu?

Với bản Docker, mọi dữ liệu của Open WebUI nằm trong volume gắn vào đường dẫn /app/backend/data của container, gồm tài khoản, lịch sử chat và kho Knowledge. Sao lưu volume này là đủ để khôi phục toàn bộ chatbot AI nội bộ trên máy khác, chỉ cần tải lại mô hình bằng Ollama.

← Bài trước

0 phản hồi cho “Xây dựng chatbot AI nội bộ trên laptop: Hướng dẫn kết hợp Ollama và Open WebUI bảo mật dữ liệu”

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *