paint-brush
เรียกใช้ Deepseek (หรือโมเดล AI อื่น ๆ ) ในบ้านของคุณด้วยโค้ดเพียงไม่กี่บรรทัดโดย@techshinobi
ประวัติศาสตร์ใหม่

เรียกใช้ Deepseek (หรือโมเดล AI อื่น ๆ ) ในบ้านของคุณด้วยโค้ดเพียงไม่กี่บรรทัด

โดย Tech Shinobi5m2025/01/30
Read on Terminal Reader

นานเกินไป; อ่าน

วิธีการสร้างบริการแชทบอทในพื้นที่ส่วนตัวโดยใช้ RAG ที่ทำงานได้ทันที
featured image - เรียกใช้ Deepseek (หรือโมเดล AI อื่น ๆ ) ในบ้านของคุณด้วยโค้ดเพียงไม่กี่บรรทัด
Tech Shinobi HackerNoon profile picture
0-item

เมื่อไม่นานมานี้ มีความจำเป็นต้องมีบริการแชทบอทส่วนตัวเป็นทางเลือกแทน 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


ติดตั้ง NVIDIA Container Toolkit เนื่องจาก Harbor ใช้ Docker

 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


รันด้วย harbor up เพื่อนำบริการเหล่านี้ขึ้นมาใน Docker


ใช้ harbor ps เป็น docker ps และ harbor logs เพื่อดูบันทึกการติดตาม


ขณะนี้ส่วนหน้า open-webui กำลังให้บริการที่ 0.0.0.0:33801 และสามารถเข้าถึงได้จาก http://localhost:33801 หรือไคลเอนต์จาก LAN ด้วยที่อยู่ IP ของเซิร์ฟเวอร์


ตรวจสอบการใช้งาน VRAM ด้วย watch -n 0.3 nvidia-smi



บันทึกการติดตามด้วย harbor up ollama --tail หรือ harbor logs


คำสั่ง ollama ทั้งหมดสามารถใช้งานได้ เช่น harbor ollama list


ถึงเวลาเข้าถึงจากอุปกรณ์อื่น (เดสก์ท็อป/มือถือ) เพื่อลงทะเบียนบัญชีผู้ดูแลระบบและดาวน์โหลดโมเดลตอนนี้

การใช้ LLM ระดับท้องถิ่น

หลังจากเข้าสู่ระบบด้วยบัญชีผู้ดูแลระบบแล้ว ให้คลิกที่ไอคอนรูปอวาตาร์มุมขวาบน เปิด Admin Panel จากนั้น Settings หรือเข้าถึงผ่านทาง `http://ip:33801/admin/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


เรียกใช้ Ollama API กับแอปพลิเคชันใดๆ ที่มีการรวม LLM API:

 http://ip:33821/api/ps http://ip:33821/v1/models http://ip:33821/api/generate http://ip:33821/v1/chat/completionsb