På det seneste har der været behov for privat chatbot-tjeneste som et komplet alternativ til OpenAIs ChatGPT. Så jeg beslutter mig for at implementere en derhjemme og gøre den tilgængelig for alle i min husstand sammen med min netværksprinter og . NAS (OpenMediaVault) Tidligere plejede jeg at anbefale folk at bruge Llama-serien til engelske opgaver og Qwen-serien til kinesiske opgaver. Der var ingen open source-model, der er stærk nok i flersprogede opgaver sammenlignet med proprietære (GPT/Claude). Men som vi alle ved - har tingene ændret sig for nylig. Jeg har brugt DeepSeek-V2 af og til, hver gang jeg blev træt med Qwen2.5 og er kommet bagud med DeepSeek V2.5 og V3 på grund af mangel på hardware. Men DeepSeek svigtede mig ikke, R1 præsterer så imponerende og giver så lille som 1,5B! Dette betyder, at vi kan køre det selv på CPU med en betydelig brugeroplevelse. Da mange mennesker har GPU'er til spil, er hastighed ikke et problem. At få lokale LLM'er til at behandle uploadede dokumenter og billeder er en stor fordel, da OpenAI begrænser denne brug for gratis konti. Selvom det er meget nemt med den officielle kommando på én linje: at installere Open WebUI med bundtet Ollama-support 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 Men at få RAG (Websøgning) til at virke er ikke let for de fleste, så jeg vil gerne finde en out-of-box løsning. Som jeg nævnte i , er havn en fantastisk testplads til at eksperimentere med forskellige LLM-stak. Men det er ikke kun fantastisk til det, det er også en alt-i-én-løsning til selv-hosting af lokale LLM'er med RAG, der arbejder out-of-box. Så lad os begynde at implementere det fra bunden, og du er velkommen til at springe trin over, da de fleste mennesker ikke starter fra OS-installation. mit sidste indlæg Systemforberedelse (valgfrit) Som det samme som , gå gennem installationsprocessen ved hjælp af tidligere debian-11.6.0-amd64-netinst.iso Tilføj til sudoer og genstart derefter usermod -aG sudo username (Valgfrit) Tilføj ekstra swap fallocate -l 64G /home/swapfile chmod 600 /home/swapfile mkswap /home/swapfile swapon /home/swapfile og gør swapfilen til vedvarende nano /etc/fstab UUID=xxxxx-xxx swap swap defaults,pri=100 0 0 /home/swapfile swap swap defaults,pri=10 0 0 Tjek med eller swapon --show free -h Deaktiver Nouveau-driver 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 Installer afhængigheder 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 (Valgfrit) Udfør afinstallation, hvis det er nødvendigt 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* Installer cuda-tookit og 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 da havnen er docker-baseret Installer 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 Derefter og sudo apt-get update sudo apt-get install -y nvidia-container-toolkit Udfør en cuda post-install handling 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}} Derefter , eller for at anvende ændringer sudo update-initramfs -u ldconfig source ~/.bashrc efter genstart, bekræft med og nvidia-smi nvcc --version Installer Miniconda (valgfrit, ikke til havn) 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 Installer 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 Udfør til docker uden sudo efterinstallation sudo groupadd docker sudo usermod -aG docker $USER newgrp docker docker run hello-world Manuel installation af Harbor git clone https://github.com/av/harbor.git && cd harbor ./harbor.sh ln Bekræft med harbor --version Tilføj med RAG-understøttelse til standarder med harbor defaults add searxng Brug til at tjekke, nu er der tre aktive tjenester: , , harbor defaults list ollama webui searxng Kør med for at bringe disse tjenester op i docker harbor up Brug som , og for at se tailing logs harbor ps docker ps harbor logs Nu serverer open-webui-frontenden på og kan tilgås fra eller klienter fra LAN med serverens IP-adresse. 0.0.0.0:33801 http://localhost:33801 Overvåg VRAM-brug med watch -n 0.3 nvidia-smi Overvåg log med eller harbor up ollama --tail harbor logs Alle ollama-kommandoer er brugbare, såsom harbor ollama list Det er tid til at få adgang fra andre enheder (desktop/mobil) for at registrere en administratorkonto og downloade modeller nu. Brug af Local LLM Når du har logget ind med en administratorkonto, skal du klikke på øverste højre avatarikon, åbne og derefter eller blot få adgang via `http://ip:33801/admin/settings. Admin Panel Settings Klik på , og øverst til højre klik på , der ligner en downloadknap. Models Manage Models Indsæt eller i tekstboksen nedenfor og klik på download-knappen i højre side. deepseek-r1 en hvilken som helst anden model Pull a model from Ollama.com Efter modellen er downloadet, kan det kræve en opdatering, og den nyligt downloadede model vil være brugbar under rullemenuen på siden (hjemmesiden). New Chat Nu kører det ikke kun en chatbot-alternativ til ChatGPT, men også et fuldt funktionelt API-alternativ til OpenAI API, plus et privat søgemaskinealternativ til Google! webui er tilgængelig i LAN via: http://ip:33801 ollama er tilgængelig i LAN via: http://ip:33821 searxng er tilgængelig i LAN via: http://ip:33811 Kald med enhver applikation med LLM API-integration: Ollama API http://ip:33821/api/ps http://ip:33821/v1/models http://ip:33821/api/generate http://ip:33821/v1/chat/completionsb