U vraagt, wij geven antwoord!

Apps & Gidsen

PrivateGPT: AI voor documenten

Grote taalmodellen hebben zich de afgelopen jaren sterk ontwikkeld en zijn effectieve hulpmiddelen geworden voor veel taken. Het enige probleem met het gebruik ervan is dat de meeste producten op basis van deze modellen gebruikmaken van kant-en-klare diensten van externe bedrijven. Dit gebruik kan gevoelige gegevens lekken, dus veel bedrijven vermijden het uploaden van interne documenten naar openbare LLM-services.

Een project als PrivateGPT zou een oplossing kunnen zijn. Het is in eerste instantie ontworpen voor volledig lokaal gebruik. De kracht is dat je verschillende documenten kunt invoeren en dat het neurale netwerk ze voor je leest en zelf commentaar geeft op jouw verzoeken. Je kunt het bijvoorbeeld grote teksten "voeren" en het vragen om conclusies te trekken op basis van het verzoek van de gebruiker. Hierdoor kun je aanzienlijk tijd besparen op proeflezen.

Dit geldt vooral voor professionele gebieden zoals geneeskunde. Een arts kan bijvoorbeeld een diagnose stellen en het neurale netwerk vragen deze te bevestigen op basis van de geüploade reeks documenten. Dit maakt het mogelijk om een extra onafhankelijke mening te krijgen, waardoor het aantal medische fouten vermindert. Aangezien verzoeken en documenten de server niet verlaten, kan men er zeker van zijn dat de ontvangen gegevens niet in het publieke domein verschijnen.

Vandaag laten we je zien hoe je in slechts 20 minuten een neuraal netwerk kunt implementeren op speciale LeaderGPU-servers met het Ubuntu 22.04 LTS-besturingssysteem.

Systeem voorbereiden

Begin met het bijwerken van uw pakketten naar de nieuwste versie:

sudo apt update && sudo apt -y upgrade

Installeer nu extra pakketten, bibliotheken en het grafische stuurprogramma van NVIDIA®. Deze zijn allemaal nodig om de software succesvol te bouwen en uit te voeren op de GPU:

sudo apt -y install build-essential git gcc cmake make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev zlib1g-dev libncursesw5-dev libgdbm-dev libc6-dev zlib1g-dev libsqlite3-dev tk-dev libssl-dev openssl libffi-dev lzma liblzma-dev libbz2-dev

CUDA® 12.4 installeren

Naast het stuurprogramma moet je ook de NVIDIA® CUDA® toolkit installeren. Deze instructies zijn getest op CUDA® 12.4, maar alles zou ook moeten werken op CUDA® 12.2. Houd er wel rekening mee dat je de geïnstalleerde versie moet aangeven wanneer je het pad naar de uitvoerbare bestanden opgeeft.

Voer achtereenvolgens het volgende commando uit:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update && sudo apt-get -y install cuda-toolkit-12-4

Meer informatie over het installeren van CUDA® is te vinden in onze Kennisbank. Start nu de server opnieuw op:

sudo shutdown -r now

PyEnv installeren

Het is tijd om een eenvoudig Python-hulpprogramma voor versiebeheer te installeren, PyEnv genaamd. Dit is een aanzienlijk verbeterde fork van het vergelijkbare project voor Ruby (rbenv), geconfigureerd om met Python te werken. Het kan worden geïnstalleerd met een éénregelig script:

curl https://pyenv.run | bash

Nu moet je enkele variabelen toevoegen aan het einde van het scriptbestand, dat wordt uitgevoerd bij het inloggen. De eerste drie regels zijn verantwoordelijk voor de juiste werking van PyEnv en de vierde is nodig voor Poetry, dat later wordt geïnstalleerd:

nano .bashrc
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
export PATH="/home/usergpu/.local/bin:$PATH"

Pas de gemaakte instellingen toe:

source .bashrc

Installeer Python versie 3.11:

pyenv install 3.11

Maak een virtuele omgeving voor Python 3.11:

pyenv local 3.11

Poëzie installeren

Het volgende stukje van de puzzel is Poetry. Dit is een analogon van pip voor het beheren van afhankelijkheden in Python-projecten. De auteur van Poetry was het beu om constant om te gaan met verschillende configuratiemethodes, zoals setup.cfg, requirements.txt, MANIFEST.ini, en andere. Dit werd de drijfveer voor de ontwikkeling van een nieuwe tool die gebruik maakt van een pyproject.toml bestand, dat alle basisinformatie over een project opslaat, niet alleen een lijst met afhankelijkheden.

Poëzie installeren:

curl -sSL https://install.python-poetry.org | python3 -

PrivateGPT installeren

Nu alles klaar is, kun je de PrivateGPT repository klonen:

git clone https://github.com/imartinez/privateGPT

Ga naar de gedownloade repository:

cd privateGPT

Voer de installatie van afhankelijkheden uit met Poetry terwijl je extra componenten inschakelt:

  • ui - voegt een op Gradio gebaseerde beheer-webinterface toe aan de back-end applicatie;
  • embedding-huggingface - biedt ondersteuning voor het insluiten van modellen die zijn gedownload van HuggingFace;
  • llms-llama-cpp - voegt ondersteuning toe voor directe inferentie van modellen in GGUF-formaat;
  • vector-stores-qdrant - voegt de qdrant vector database toe.
poetry install --extras "ui embeddings-huggingface llms-llama-cpp vector-stores-qdrant"

Stel uw Hugging Face toegangstoken in. Lees dit artikel voor meer informatie:

export HF_TOKEN="YOUR_HUGGING_FACE_ACCESS_TOKEN"

Voer nu het installatiescript uit, dat automatisch het model en de gewichten downloadt (standaard Meta Llama 3.1 8B Instruct):

poetry run python scripts/setup

Het volgende commando hercompileert llms-llama-cpp afzonderlijk om NVIDIA® CUDA-ondersteuning in te schakelen, om workloads naar de GPU te verplaatsen:

CUDACXX=/usr/local/cuda-12/bin/nvcc CMAKE_ARGS="-DGGML_CUDA=on -DCMAKE_CUDA_ARCHITECTURES=native" FORCE_CMAKE=1 pip install llama-cpp-python --no-cache-dir --force-reinstall --upgrade

Als je een foutmelding krijgt zoals nvcc fatal : Unsupported gpu architecture 'compute_', geef dan de exacte architectuur op van de GPU die je gebruikt. Bijvoorbeeld: DCMAKE_CUDA_ARCHITECTURES=86 voor NVIDIA® RTX™ 3090.

De laatste stap voordat je begint is het installeren van ondersteuning voor asynchrone aanroepen (async/await):

pip install asyncio

PrivateGPT uitvoeren

Voer PrivateGPT uit met een enkel commando:

make run

Open uw webbrowser en ga naar de pagina http://[LeaderGPU_server_IP_address]:8001

PrivateGPT WebUI

Zie ook:



Bijgewerkt: 12.08.2025

Gepubliceerd: 20.01.2025