paint-brush
Хэдэн мөр код ашиглан Deepseek (эсвэл бусад хиймэл оюун ухааны загвар)-ыг гэртээ ажиллуулby@techshinobi
Шинэ түүх

Хэдэн мөр код ашиглан Deepseek (эсвэл бусад хиймэл оюун ухааны загвар)-ыг гэртээ ажиллуул

by Tech Shinobi5m2025/01/30
Read on Terminal Reader

Хэтэрхий урт; Унших

RAG-тай хувийн орон нутгийн чатбот үйлчилгээг хэрхэн бий болгох вэ.
featured image - Хэдэн мөр код ашиглан Deepseek (эсвэл бусад хиймэл оюун ухааны загвар)-ыг гэртээ ажиллуул
Tech Shinobi HackerNoon profile picture
0-item

Сүүлийн үед OpenAI-ийн ChatGPT-ийн бүрэн хувилбар болох хувийн чатбот үйлчилгээ шаардлагатай болж байна. Тиймээс би үүнийг гэртээ хэрэгжүүлж, сүлжээний хэвлэгч болон NAS (OpenMediaVault)-ийн хамт гэрийнхээ бүх хүмүүст хүртээмжтэй болгохоор шийдсэн.


Өмнө нь би хүмүүст Llama цувралыг англи хэлээр хийх даалгавар, Qwen цувралыг хятад хэлний даалгаварт ашиглахыг зөвлөдөг байсан. Өмчлөлийнхтэй (GPT/Claude) харьцуулахад олон хэлээр ярьдаг ажлуудад хангалттай хүчтэй нээлттэй эхийн загвар байхгүй байсан.


Гэсэн хэдий ч бидний мэдэж байгаагаар сүүлийн үед бүх зүйл өөрчлөгдсөн. Би Qwen2.5-аас залхах болгондоо DeepSeek-V2-г хааяа ашигладаг байсан ба DeepSeek V2.5, V3-аас техник хангамж дутагдсанаас хоцорч байсан. Гэхдээ DeepSeek намайг сэтгэлээр унасангүй, R1 нь маш гайхалтай гүйцэтгэлтэй бөгөөд 1.5B хэмжээтэй байна!


Энэ нь бид үүнийг тодорхой хэмжээний хэрэглэгчийн туршлагатай CPU дээр ч ажиллуулж чадна гэсэн үг юм. Олон хүмүүс тоглоом тоглоход зориулсан GPU-тэй байдаг тул хурд нь асуудал биш юм. OpenAI нь үнэгүй дансны хэрэглээг хязгаарладаг тул орон нутгийн LLM-д байршуулсан баримт бичиг, зургийг боловсруулах нь том давуу тал юм.


Хэдийгээр багцалсан Ollama дэмжлэгтэйгээр Open WebUI-г суулгах нь албан ёсны нэг мөрийн тушаалаар маш хялбар байдаг:

 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 (Вэб хайлт) ажиллуулах нь ихэнх хүмүүст тийм ч хялбар биш тул би бэлэн болсон шийдлийг олохыг хүсч байна.


Би сүүлийн нийтлэлдээ дурдсанчлан боомт бол өөр LLM стекийг турших маш сайн туршилтын талбай юм. Гэхдээ энэ нь зөвхөн үүний хувьд гайхалтай төдийгүй RAG нь бэлэн бус ажиллаж байгаа орон нутгийн LLM-ийг өөрөө байршуулах цогц шийдэл юм. Тиймээс, үүнийг эхнээс нь хэрэгжүүлж эхэлцгээе, ихэнх хүмүүс үйлдлийн систем суулгахаас эхэлдэггүй тул алхмуудыг алгасаж болно.

Системийн бэлтгэл (заавал биш)

Өмнөхтэй адил 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-ийг суулгаарай

 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 & Harbor

Докер суулгах

 # 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

Боомтыг гараар суулгана

 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 хамт ажиллуул


Хаягдлын бүртгэлийг харахын тулд harbor ps docker ps , harbor logs ашиглана уу


Open-webui frontend нь одоо 0.0.0.0:33801 үйлчилж байгаа бөгөөд http://localhost:33801 эсвэл серверийн IP хаягтай LAN-аас үйлчлүүлэгчид хандах боломжтой.


watch -n 0.3 nvidia-smi ашиглан VRAM ашиглалтыг хянах



harbor up ollama --tail эсвэл harbor logs ашиглан бүртгэлийг хянах


harbor ollama list гэх мэт бүх оллама тушаалуудыг ашиглах боломжтой


Бусад төхөөрөмжөөс (ширээний/гар утас) хандаж админ бүртгэлээ бүртгүүлж, загвараа татаж авах цаг болжээ.

Local LLM ашиглах

Админ акаунтаар нэвтэрсний дараа баруун дээд талын аватар дүрс дээр дарж, Admin Panel дараа нь Settings нээнэ үү, эсвэл `http://ip:33801/admin/settings-ээр нэвтэрнэ үү.


Models дээр товшоод, баруун дээд хэсэгт татаж авах товчлуур шиг харагдах Manage Models дарна уу.


deepseek-r1 эсвэл өөр загваруудыг доорх текст хайрцагт оруулна уу Pull a model from Ollama.com баруун талд байгаа татаж авах товчийг дарна уу.


Загварыг татаж авсны дараа дахин шинэчлэх шаардлагатай бөгөөд шинээр татаж авсан загвар нь New Chat (нүүр) хуудасны унждаг цэсэнд ашиглагдах болно.


Одоо энэ нь зөвхөн ChatGPT-ийн өөр чатботыг ажиллуулаад зогсохгүй OpenAI API-ийн бүрэн ажиллагаатай API хувилбар, мөн Google-ийн хувийн хайлтын системийг ажиллуулж байна!


webui-г LAN дотор дараах хаягаар ашиглах боломжтой: http://ip:33801

олламаг LAN дотор дараах холбоосоор дамжуулан авах боломжтой: http://ip:33821

searxng-г 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