ბოლო დროს საჭიროა პირადი ჩატბოტის სერვისი, როგორც OpenAI-ის ChatGPT-ის სრული ალტერნატივა. ასე რომ, მე გადავწყვიტე ერთის დანერგვა სახლში და მისაწვდომი გავხადო ყველასთვის ჩემს ოჯახში, ჩემს ქსელურ პრინტერთან და NAS-თან ერთად (OpenMediaVault) .
წარსულში მე ვურჩევდი ადამიანებს გამოიყენონ Llama სერიები ინგლისური ამოცანებისთვის და Qwen სერიები ჩინური ამოცანებისთვის. არ არსებობდა ღია კოდის მოდელი, რომელიც საკმარისად ძლიერი იქნებოდა მრავალენოვანი ამოცანების შესასრულებლად, საკუთრების (GPT/Claude) შედარებით.
თუმცა, როგორც ყველამ ვიცით, ცოტა ხნის წინ ყველაფერი შეიცვალა. მე ხშირად ვიყენებდი DeepSeek-V2-ს ყოველ ჯერზე, როცა დავიღალე Qwen2.5-ით და ჩამოვრჩებოდი DeepSeek V2.5-სა და V3-ს აპარატურის ნაკლებობის გამო. მაგრამ DeepSeek-მა არ დამიწუნა, R1 იმდენად შთამბეჭდავია და უზრუნველყოფს 1,5 B-ს!
ეს ნიშნავს, რომ ჩვენ შეგვიძლია მისი გაშვება CPU-ზეც კი, მომხმარებლის მნიშვნელოვანი გამოცდილებით. რადგან ბევრ ადამიანს აქვს სათამაშო პროცესორები, სიჩქარე არ არის პრობლემა. ადგილობრივი 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-ის (ვებ ძიების) მუშაობა არ არის მარტივი ადამიანების უმრავლესობისთვის, ამიტომ მსურს ვიპოვო გამოსავალი.
როგორც ჩემს ბოლო პოსტში აღვნიშნე, ჰარბორი შესანიშნავი ტესტია სხვადასხვა LLM სტეკთან ექსპერიმენტებისთვის. მაგრამ ეს არა მხოლოდ შესანიშნავია ამისთვის, ის ასევე არის ყოვლისმომცველი გადაწყვეტა ადგილობრივი LLM-ების თვითმასპინძლობისთვის, RAG-ით, რომელიც მუშაობს გარედან. მაშ ასე, დავიწყოთ მისი დანერგვა ნულიდან და მოგერიდებათ გამოტოვოთ ნაბიჯები, რადგან ადამიანების უმეტესობა არ იწყებს OS-ის ინსტალაციას.
ისევე, როგორც ადრე , გაიარეთ ინსტალაციის პროცესი 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 დაფუძნებულია დოკერზე
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
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 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
ან კლიენტებიდან LAN-დან სერვერის IP მისამართით.
VRAM-ის გამოყენების მონიტორინგი watch -n 0.3 nvidia-smi
ით
მონიტორის ჟურნალი harbor up ollama --tail
ან harbor logs
ყველა olama ბრძანება გამოსაყენებელია, როგორიცაა 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-ის, არამედ სრულად ფუნქციონალური API ალტერნატივის OpenAI API-ს, პლუს პირადი საძიებო სისტემის ალტერნატივას Google-ისთვის!
webui ხელმისაწვდომია LAN-ის ფარგლებში: http://ip:33801
olama ხელმისაწვდომია LAN-ის ფარგლებში: http://ip:33821
searxng ხელმისაწვდომია LAN-ში: http://ip:33811
დაურეკეთ Olama API-ს ნებისმიერი აპლიკაციით LLM API ინტეგრაციით:
http://ip:33821/api/ps http://ip:33821/v1/models http://ip:33821/api/generate http://ip:33821/v1/chat/completionsb