Акыркы убакта 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*
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
сыяктуу колдонулушу мүмкүн
Башка түзмөктөрдөн (иш столунан/мобилдик) кирүү үчүн администратор эсебин каттоого жана моделдерди азыр жүктөп алууга убакыт келди.
Администратордук каттоо эсеби менен киргенден кийин, жогорку оң жактагы аватар сөлөкөтүн чыкылдатып, 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