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

Акыркы убакта OpenAIдин ChatGPTге толук альтернатива катары жеке чатбот кызматына муктаждык бар. Ошентип, мен бирөөнү үйдө ишке ашырууну чечтим жана аны тармактык принтерим жана NAS (OpenMediaVault) менен бирге үйдөгүлөрдүн баарына жеткиликтүү кылууну чечтим.


Мурда мен адамдарга англис тилиндеги тапшырмалар үчүн Llama серияларын жана кытайча тапшырмалар үчүн Qwen серияларын колдонууну сунуштачумун. Проприетардык (GPT/Claude) менен салыштырганда көп тилдүү тапшырмаларда жетиштүү күчтүү ачык булак модели болгон эмес.


Бирок, баарыбызга белгилүү болгондой, жакында эле өзгөрдү. Мен Qwen2.5 менен чарчаган сайын DeepSeek-V2ди маал-маалы менен колдонуп келем жана аппараттык камсыздоонун жоктугунан DeepSeek V2.5 жана V3 менен артта калгам. Бирок DeepSeek мени капаланткан жок, R1 абдан таасирдүү аткарат жана 1,5B сыяктуу кичинекей берет!


Бул биз аны бир кыйла колдонуучу тажрыйбасы менен CPUда да иштете алабыз дегенди билдирет. Көптөгөн адамдардын оюн үчүн GPU бар болгондуктан, ылдамдык маселе эмес. Жергиликтүү LLMлерди жүктөгөн документтерди жана сүрөттөрдү иштетүү - бул чоң артыкчылык, анткени OpenAI бул колдонууну бекер эсептерге чектейт.


Топтолгон 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


nano ~/.bashrc орнотуудан кийинки cuda аракетин аткарыңыз

 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

Докер жана Харбор

Докерди орнотуу

 # 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

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 менен чуркаңыз


docker ps катары harbor ps жана калдыктарды сактоо журналдарын көрүү үчүн harbor logs колдонуңуз


Азыр open-webui фронту 0.0.0.0:33801 кызмат кылып жатат жана ага http://localhost:33801 дарегинен же сервердин IP дареги бар LANдагы кардарлардан кирүүгө болот.


watch -n 0.3 nvidia-smi менен VRAMдын колдонулушун көзөмөлдөңүз



harbor up ollama --tail же harbor logs менен мониторинг журналы


Бардык ollama буйруктары 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

ollama 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