Gần đây, có nhu cầu về dịch vụ chatbot riêng tư như một giải pháp thay thế hoàn chỉnh cho ChatGPT của OpenAI. Vì vậy, tôi quyết định triển khai một dịch vụ tại nhà và cho phép mọi người trong gia đình tôi cùng với máy in mạng và của tôi có thể truy cập. NAS (OpenMediaVault) Trước đây, tôi thường khuyên mọi người sử dụng chuỗi Llama cho các nhiệm vụ tiếng Anh và chuỗi Qwen cho các nhiệm vụ tiếng Trung. Không có mô hình nguồn mở nào đủ mạnh trong các nhiệm vụ đa ngôn ngữ so với các mô hình độc quyền (GPT/Claude). Tuy nhiên, như chúng ta đều biết—mọi thứ đã thay đổi gần đây. Tôi đã sử dụng DeepSeek-V2 thỉnh thoảng mỗi khi tôi cảm thấy mệt mỏi với Qwen2.5 và đã tụt hậu với DeepSeek V2.5 và V3 do thiếu phần cứng. Nhưng DeepSeek đã không làm tôi thất vọng, R1 hoạt động rất ấn tượng và cung cấp nhỏ tới 1,5B! Điều này có nghĩa là chúng ta có thể chạy nó ngay cả trên CPU với một số kinh nghiệm người dùng đáng kể. Vì nhiều người có GPU để chơi game, tốc độ không phải là vấn đề. Việc khiến LLM cục bộ xử lý các tài liệu và hình ảnh đã tải lên là một lợi thế lớn vì OpenAI giới hạn việc sử dụng này cho các tài khoản miễn phí. Mặc dù rất dễ dàng bằng lệnh một dòng chính thức: việc cài đặt Open WebUI với hỗ trợ Ollama Bundled 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:ollama Nhưng để sử dụng RAG (Tìm kiếm trên web) không phải là điều dễ dàng với hầu hết mọi người, vì vậy tôi muốn tìm ra một giải pháp đột phá. Như tôi đã đề cập trong , harbor là một nền tảng thử nghiệm tuyệt vời để thử nghiệm với các ngăn xếp LLM khác nhau. Nhưng nó không chỉ tuyệt vời cho mục đích đó mà còn là giải pháp tất cả trong một để tự lưu trữ LLM cục bộ với RAG hoạt động ngay lập tức. Vì vậy, hãy bắt đầu triển khai nó từ đầu và thoải mái bỏ qua các bước vì hầu hết mọi người không bắt đầu từ cài đặt hệ điều hành. bài đăng trước Chuẩn bị hệ thống (Tùy chọn) Tương tự như , hãy thực hiện quá trình cài đặt bằng trước đây debian-11.6.0-amd64-netinst.iso Thêm vào sudoer sau đó khởi động lại usermod -aG sudo username (Tùy chọn) Thêm hoán đổi bổ sung fallocate -l 64G /home/swapfile chmod 600 /home/swapfile mkswap /home/swapfile swapon /home/swapfile và làm cho tệp hoán đổi liên tục nano /etc/fstab UUID=xxxxx-xxx swap swap defaults,pri=100 0 0 /home/swapfile swap swap defaults,pri=10 0 0 Kiểm tra bằng hoặc swapon --show free -h Vô hiệu hóa trình điều khiển Nouveau bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf" bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf" update-initramfs -u update-grub reboot Cài đặt các phụ thuộc apt install linux-headers-`uname -r` build-essential libglu1-mesa-dev libx11-dev libxi-dev libxmu-dev gcc software-properties-common sudo git python3 python3-venv pip libgl1 git-lfs -y (Tùy chọn) Thực hiện gỡ cài đặt nếu cần apt-get purge nvidia* apt remove nvidia* apt-get purge cuda* apt remove cuda* rm /etc/apt/sources.list.d/cuda* apt-get autoremove && apt-get autoclean rm -rf /usr/local/cuda* Cài đặt cuda-tookit và cuda wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda-repo-debian11-12-4-local_12.4.1-550.54.15-1_amd64.deb sudo dpkg -i cuda-repo-debian11-12-4-local_12.4.1-550.54.15-1_amd64.debsudo cp /var/cuda-repo-debian11-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo add-apt-repository contrib sudo apt-get update sudo apt-get -y install cuda-toolkit-12-4 sudo apt install libxnvctrl0=550.54.15-1 sudo apt-get install -y cuda-drivers vì harbor dựa trên docker Cài đặt NVIDIA Container Toolkit curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list Sau đó và sudo apt-get update sudo apt-get install -y nvidia-container-toolkit Thực hiện hành động cuda sau khi cài đặt nano ~/.bashrc export PATH=/usr/local/cuda-12.4/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} Sau đó , hoặc để áp dụng các thay đổi sudo update-initramfs -u ldconfig source ~/.bashrc sau khi khởi động lại, xác nhận bằng và nvidia-smi nvcc --version Cài đặt Miniconda (Tùy chọn, không dành cho bến cảng) wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && sudo chmod +x Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh Docker & Bến cảng Cài đặt docker # Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin Thực hiện cho docker mà không cần sudo cài đặt sau sudo groupadd docker sudo usermod -aG docker $USER newgrp docker docker run hello-world Cài đặt thủ công Harbor git clone https://github.com/av/harbor.git && cd harbor ./harbor.sh ln Xác minh với harbor --version Thêm với hỗ trợ RAG vào mặc định với harbor defaults add searxng Sử dụng để kiểm tra, hiện tại có ba dịch vụ đang hoạt động: , , harbor defaults list ollama webui searxng Chạy với để đưa các dịch vụ này lên docker harbor up Sử dụng như và để xem nhật ký đuôi harbor ps docker ps harbor logs Hiện tại, giao diện open-webui đang phục vụ tại và có thể truy cập từ hoặc từ máy khách trong mạng LAN bằng địa chỉ IP của máy chủ. 0.0.0.0:33801 http://localhost:33801 Theo dõi việc sử dụng VRAM với watch -n 0.3 nvidia-smi Theo dõi nhật ký với hoặc harbor up ollama --tail harbor logs Tất cả các lệnh ollama đều có thể sử dụng như harbor ollama list Đã đến lúc truy cập từ các thiết bị khác (máy tính để bàn/di động) để đăng ký tài khoản quản trị và tải xuống mô hình ngay bây giờ. Sử dụng LLM địa phương Sau khi đăng nhập bằng tài khoản quản trị, hãy nhấp vào biểu tượng ảnh đại diện góc trên bên phải, mở rồi hoặc chỉ cần truy cập qua `http://ip:33801/admin/settings. Admin Panel Settings Nhấp vào và ở trên cùng bên phải, nhấp vào trông giống như nút tải xuống. Models Manage Models Nhập hoặc vào hộp văn bản bên dưới. và nhấp vào nút tải xuống ở bên phải. deepseek-r1 bất kỳ mô hình nào khác Pull a model from Ollama.com Sau khi tải xuống mô hình, có thể cần phải làm mới và mô hình mới tải xuống sẽ có thể sử dụng được trong menu thả xuống trên trang (trang chủ). New Chat Giờ đây, nó không chỉ chạy một chatbot thay thế cho ChatGPT mà còn là một API thay thế đầy đủ chức năng cho OpenAI API, cùng với một công cụ tìm kiếm riêng tư thay thế cho Google! webui có thể truy cập trong LAN qua: http://ip:33801 ollama có thể truy cập trong LAN qua: http://ip:33821 searxng có thể truy cập trong LAN qua: http://ip:33811 Gọi với bất kỳ ứng dụng nào có tích hợp LLM API: Ollama API http://ip:33821/api/ps http://ip:33821/v1/models http://ip:33821/api/generate http://ip:33821/v1/chat/completionsb