เมื่อไม่นานมานี้ มีความจำเป็นต้องมีบริการแชทบอทส่วนตัวเป็นทางเลือกแทน ChatGPT ของ OpenAI อย่างสมบูรณ์ ฉันจึงตัดสินใจติดตั้งบริการนี้ที่บ้านและให้ทุกคนในบ้านเข้าถึงได้ ร่วมกับเครื่องพิมพ์เครือข่ายและ ของฉัน NAS (OpenMediaVault) ในอดีต ฉันเคยแนะนำให้ผู้คนใช้ซีรีส์ Llama สำหรับงานภาษาอังกฤษและซีรีส์ Qwen สำหรับงานภาษาจีน ไม่มีโมเดลโอเพนซอร์สที่แข็งแกร่งเพียงพอสำหรับงานหลายภาษาเมื่อเปรียบเทียบกับโมเดลที่เป็นกรรมสิทธิ์ (GPT/Claude) อย่างไรก็ตาม อย่างที่ทราบกันดีว่า สิ่งต่างๆ เปลี่ยนแปลงไปในช่วงนี้ ฉันใช้ DeepSeek-V2 เป็นครั้งคราวทุกครั้งที่ฉันเบื่อ Qwen2.5 และตามหลัง DeepSeek V2.5 และ V3 เนื่องจากขาดฮาร์ดแวร์ แต่ DeepSeek ไม่ทำให้ฉันผิดหวัง R1 มีประสิทธิภาพน่าประทับใจมากและให้ผลตอบแทนเพียง 1.5 พันล้าน! ซึ่งหมายความว่าเราสามารถรันได้แม้บน CPU ที่มีประสบการณ์การใช้งานค่อนข้างมาก เนื่องจากหลายคนมี GPU สำหรับการเล่นเกม ความเร็วจึงไม่ใช่ปัญหา การให้ LLM ในพื้นที่ประมวลผลเอกสารและรูปภาพที่อัปโหลดถือเป็นข้อได้เปรียบอย่างมาก เนื่องจาก OpenAI จำกัดการใช้งานนี้สำหรับบัญชีฟรี แม้ว่า จะง่ายมากด้วยคำสั่งบรรทัดเดียวอย่างเป็นทางการ: การติดตั้ง Open WebUI พร้อมการรองรับ Ollama แบบรวม 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 แต่การทำให้ RAG (การค้นหาเว็บ) ทำงานได้นั้นไม่ใช่เรื่องง่ายสำหรับคนส่วนใหญ่ ดังนั้น ฉันจึงอยากจะหาโซลูชันอื่นที่แปลกใหม่ ตามที่ฉันได้กล่าวไว้ใน Harbor เป็นแหล่งทดสอบที่ยอดเยี่ยมสำหรับการทดลองกับสแต็ก LLM ที่แตกต่างกัน แต่ไม่เพียงแต่จะยอดเยี่ยมสำหรับสิ่งนั้นเท่านั้น แต่ยังเป็นโซลูชันแบบครบวงจรสำหรับการโฮสต์ LLM ในเครื่องด้วยตนเองโดยใช้ RAG ที่ทำงานได้ทันที ดังนั้น มาเริ่มใช้งานตั้งแต่ต้นและข้ามขั้นตอนต่างๆ ได้ตามสบาย เนื่องจากคนส่วนใหญ่ไม่ได้เริ่มจากการติดตั้งระบบปฏิบัติการ โพสต์ล่าสุด การเตรียมระบบ (ทางเลือก) เช่นเดียวกับ ให้ดำเนินการติดตั้งโดยใช้ ก่อนหน้านี้ debian-11.6.0-amd64-netinst.iso เพิ่ม sudoer จากนั้นรีบูต usermod -aG sudo username (ทางเลือก) เพิ่มการสลับเพิ่มเติม fallocate -l 64G /home/swapfile chmod 600 /home/swapfile mkswap /home/swapfile swapon /home/swapfile และทำให้ swapfile คงอยู่เป็น nano /etc/fstab UUID=xxxxx-xxx swap swap defaults,pri=100 0 0 /home/swapfile swap swap defaults,pri=10 0 0 ตรวจสอบด้วย หรือ swapon --show free -h ปิดใช้งานไดร์เวอร์ 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 ติดตั้งสิ่งที่ต้องพึ่งพา 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 (ทางเลือก) ดำเนินการถอนการติดตั้งหากจำเป็น 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* ติดตั้ง cuda-tookit และ 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 เนื่องจาก Harbor ใช้ Docker ติดตั้ง 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 จากนั้น และ sudo apt-get update sudo apt-get install -y nvidia-container-toolkit ดำเนินการ cuda หลังการติดตั้ง 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}} จากนั้น , หรือ เพื่อใช้การเปลี่ยนแปลง sudo update-initramfs -u ldconfig source ~/.bashrc หลังจากรีบูตแล้ว ให้ยืนยันด้วย และ nvidia-smi nvcc --version ติดตั้ง Miniconda (ทางเลือก ไม่เหมาะสำหรับท่าเรือ) 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 # 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 ดำเนินการ สำหรับ Docker โดยไม่ใช้ sudo หลังการติดตั้ง sudo groupadd docker sudo usermod -aG docker $USER newgrp docker docker run hello-world ติดตั้ง Harbor ด้วยตนเอง git clone https://github.com/av/harbor.git && cd harbor ./harbor.sh ln ตรวจสอบกับ harbor --version เพิ่มด้วยการรองรับ RAG ให้เป็นค่าเริ่มต้นด้วย harbor defaults add searxng ใช้ เพื่อตรวจสอบ ตอนนี้มีบริการที่ใช้งานอยู่สามรายการ ได้แก่ , , harbor defaults list ollama webui searxng รันด้วย เพื่อนำบริการเหล่านี้ขึ้นมาใน Docker harbor up ใช้ เป็น และ เพื่อดูบันทึกการติดตาม harbor ps docker ps harbor logs ขณะนี้ส่วนหน้า open-webui กำลังให้บริการที่ และสามารถเข้าถึงได้จาก หรือไคลเอนต์จาก LAN ด้วยที่อยู่ IP ของเซิร์ฟเวอร์ 0.0.0.0:33801 http://localhost:33801 ตรวจสอบการใช้งาน VRAM ด้วย watch -n 0.3 nvidia-smi บันทึกการติดตามด้วย หรือ harbor up ollama --tail harbor logs คำสั่ง ollama ทั้งหมดสามารถใช้งานได้ เช่น harbor ollama list ถึงเวลาเข้าถึงจากอุปกรณ์อื่น (เดสก์ท็อป/มือถือ) เพื่อลงทะเบียนบัญชีผู้ดูแลระบบและดาวน์โหลดโมเดลตอนนี้ การใช้ LLM ระดับท้องถิ่น หลังจากเข้าสู่ระบบด้วยบัญชีผู้ดูแลระบบแล้ว ให้คลิกที่ไอคอนรูปอวาตาร์มุมขวาบน เปิด จากนั้น หรือเข้าถึงผ่านทาง `http://ip:33801/admin/settings` Admin Panel Settings คลิก และที่ด้านขวาบน คลิกที่ ซึ่งมีลักษณะเหมือนปุ่มดาวน์โหลด Models Manage Models ใส่ หรือ ลงในกล่องข้อความด้านล่าง และคลิกปุ่มดาวน์โหลดทางด้านขวา deepseek-r1 โมเดลอื่น ๆ Pull a model from Ollama.com หลังจากดาวน์โหลดโมเดลแล้ว อาจต้องรีเฟรช และโมเดลที่ดาวน์โหลดใหม่จะสามารถใช้งานได้ภายใต้เมนูแบบดรอปดาวน์บนหน้า (หน้าแรก) New Chat ตอนนี้ไม่เพียงแต่จะรันทางเลือก Chatbot แทน ChatGPT เท่านั้น แต่ยังเป็นทางเลือก API ที่มีฟังก์ชันครบครันแทน OpenAI API อีกด้วย รวมถึงเป็นทางเลือกเครื่องมือค้นหาส่วนตัวแทน Google! สามารถเข้าถึง webui ได้ภายใน LAN ผ่านทาง: http://ip:33801 สามารถเข้าถึง ollama ได้ภายใน LAN ผ่านทาง: http://ip:33821 สามารถเข้าถึงการค้นหาได้ภายใน LAN ผ่านทาง: http://ip:33811 เรียกใช้ กับแอปพลิเคชันใดๆ ที่มีการรวม 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