Hoe krijg ik mijn lokale AI aan de praat?

De belofte van lokale kunstmatige intelligentie fascineert mij: de mogelijkheid om krachtige AI-modellen direct op mijn eigen hardware te draaien, zonder afhankelijk te zijn van clouddiensten. Voor mij gaat dit verder dan alleen technische vrijheid; het raakt ook aan de groeiende discussie rond de ethische implicaties van AI, zoals privacy, transparantie en het verantwoord gebruik van deze technologieën. Hoe kan ik ervoor zorgen dat ik controle houd en ethisch verantwoorde keuzes maak? Mijn zoektocht naar een concrete oplossing leidde me naar LocalAI, en ik wil mijn eerste ervaringen hiermee graag delen.

De Sprong in het Diepe met LocalAI: De All-in-One Aanpak

Mijn doel was om zo snel mogelijk een werkende lokale AI-omgeving te hebben. LocalAI bleek hier een uitstekende optie voor te bieden met hun 'All-in-One' opzet. Wat ik hierbij aantrekkelijk vond, is dat het een Docker-container betreft die alles wat nodig is – van de AI-engine tot de benodigde afhankelijkheden – in één keer downloadt en configureert. Ik heb me voorbereid op wat wachten, want het downloaden van AI-modellen vergt, zoals ik had verwacht, de nodige tijd. Een goede kop koffie erbij was zeker geen overbodige luxe terwijl de gigabytes over de lijn kwamen.

Hieronder staat een voorbeeld van de docker compose.yaml dit ik heb gebruikt. Heb je een moderne NVIDIA kaart, dan kan je een NVIDIA-image gebruiken en dien je de deploy sectie te uncommenten.

services:
  api:
    image: localai/localai:latest-aio-cpu
    # For a specific version:
    #image: localai/localai:v2.29.0-aio-cpu
    # For Nvidia GPUs decomment one of the following (cuda11 or cuda12):
    #image: localai/localai:v2.29.0-aio-gpu-nvidia-cuda-11
    # image: localai/localai:v2.29.0-aio-gpu-nvidia-cuda-12
    #image: localai/localai:latest-aio-gpu-nvidia-cuda-11
    #image: localai/localai:latest-aio-gpu-nvidia-cuda-12
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/readyz"]
      interval: 5m
      timeout: 20m
      retries: 5
    ports:
      - 8510:8080
    environment:
      - DEBUG=true
      # ...
    volumes:
      - /mnt/localai/models:/models:cached
    # decomment the following piece if running with Nvidia GPUs
    #deploy:
    #  resources:
    #    reservations:
    #      devices:
    #        - driver: nvidia
    #          count: 1
    #          capabilities: [gpu]

In Docker zelf is de NVIDIA kaart niet meteen beschikbaar. Om die in een container te kunnen gebruiken zal je in de runtimes in /etc/docker/daemon.json moeten aanvullen met:

"runtimes": {
"nvidia": {
    "path": "/usr/bin/nvidia-container-runtime",
    "runtimeArgs": []
}
},
"default-runtime": "nvidia"

Vergeet niet om de Docker daemon te herstarten.

Verkenning van de Lokale AI-Omgeving

Na de initiële setup en het downloaden van de basismodellen, opende de webinterface van LocalAI zich. Dit is waar de magie begint. Ik kon hier alle onderdelen overzichtelijk bekijken en direct aan de slag gaan met het downloaden van nieuwe modellen.

Mijn eerste interactie was met een lokaal gedownloade versie van een chatmodel, vergelijkbaar met ChatGPT-4. Ik klikte op de chatknop en stelde een simpele vraag. De snelheid van de respons hangt uiteraard sterk af van de beschikbare hardware, en ik merkte meteen dat mijn systeem zijn best deed. De reactie kwam, en het gaf me een direct gevoel van controle over de AI.

Nieuwsgierig naar de prestaties van specifieke modellen, heb ik meteen het nieuwste lokale model van Google, Gemma-3 ( gemma-3-1b-it ), gedownload. Dit model werkt verrassend vlot bij het stellen van een vraag. De respons kwam snel en accuraat, wat veelbelovend is voor toekomstige experimenten.

Wat ik tot nu toe heb opgemerkt, is dat de grote taalmodellen (LLM's) zonder uitgebreide 'prompts' of extra meegezonden data uitstekend werken. De reacties zijn snel en de modellen voeren hun taak efficiënt uit. Zodra ik echter extra contextuele data meestuur, zoals informatie vanuit mijn Home Assistant setup, merkte ik dat een model aanzienlijk langer over de verwerking doet. Het is een interessant spanningsveld tussen de diepte van de context en de snelheid van de respons.

Meer over LocalAI kan je vinden op https://localai.io

Een Nieuw Hoofdstuk in Digitale Experimenten

Mijn eerste doel is bereikt: ik heb nu een functionerende lokale AI-omgeving. De All-in-One aanpak van LocalAI heeft het opzetten van deze omgeving verrassend toegankelijk gemaakt. Het is duidelijk dat er nog veel te ontdekken valt om lokale AI in te zetten voor specifieke taken. Maar de basis is gelegd, en ik kijk ernaar uit om verder te experimenteren met de mogelijkheden die deze lokale AI mij biedt. Ook wat de uitbreidingen LocalAGI en LocalRecall voor extra features met zich meebrengen.

LocalAI: No cloud, no limits, no compromise.