Draaien in dev omgeving

Dit hoofdstuk omschrijft hoe het prototype lokaal gedraaid kan worden. Hoewel het project zou moeten kunnen draaien op iedere computer met 16 GB RAM (en ongeveer 20 GB vrije schijfruimte voor ontwikkeltools en LLM's), is snelheid daarmee niet gegarandeerd. Meer hierover in het hoofdstuk Hardware.

Backend

Het backend woont in de rott-backend-repository. Doe een Git clone en voer de volgende stappen uit:

  1. Open de map waarin je net gecloned hebt.
  2. Maak een leeg bestand aan genaamd app.log.
  3. Kopieer het .env-example-bestand naar .env.
  4. Pas in het .env-bestand de regel OLLAMA_BASE_URL=<http://ollama:11434> aan naar OLLAMA_BASE_URL=http://host.docker.internal:11434. Dit is noodzakelijk omdat de example config er van uit gaat dat Ollama in Docker draait. Met de aanpassing kan het backend verbinden naar de instance van Ollama die direct op de host draait.
  5. Draai het volgende commando in een terminal: docker compose up.

Het backend en de noodzakelijke workers zouden nu moeten draaien in Docker! Je kunt bij het backend door te navigeren naar http://localhost:8000/docs te openen in je webbrowser.

Ollama

Voor het ontwikkelen adviseren we Ollama buiten Docker te draaien. In de standaard docker-compose.yml van het backend is Ollama dan ook niet opgenomen. Download en installeer de juiste versie gegeven je besturingssysteem en je CPU-architectuur.

Installeer de juiste modellen in Ollama door de volgende commando's in een terminal te draaien nadat je Ollama gestart hebt (en deze dus op de achtergrond actief is):

ollama pull aya-expanse
ollama pull bge-m3

Je hoeft verder niets met Ollama te doen anders dan hem actief te laten, het backend zal op de achtergrond Ollama aansturen.

Frontend

Het backend woont in de rott-frontend-repository. Doe een Git clone.

Draai vanaf een terminal (cd eerst naar de Handover-map) de volgende commando's:

npm i
npm start

Het frontend zou nu moeten draaien! Je kunt bij het frontend door te navigeren naar http://127.0.0.1:3000 te openen in je webbrowser.

Werken aan deze handleiding

Deze handleiding woont in de rott-docs-repository. Doe een Git clone. Vervolgens vindt je hem in het mapje Handover.

Draai vanaf een terminal (cd eerst naar de Handover-map) de volgende commando's (let op: het kan even duren):

docker build . -t h-ai-handover-manual
docker run --name h-ai-handover-manual --volume .:/book-src -p 127.0.0.1:8001:8001 h-ai-handover-manual

Je kunt de handleiding nu in je webbrowser openen via http://localhot:8001.

Stop de Docker container met docker stop h-ai-handover-manual en start hem opnieuw met docker start h-ai-handover-manual wanneer je weer verder wil werken.

Deze setup is handig voor het ontwikkelen, omdat de container automatisch zal reageren op wijzigingen die je maakt aan de .md-bestanden. In de meeste gevallen zal je webbrowser ook automatisch verversen als je het boek open hebt.

Productie?

Een variant van bovenstaande setup, meer geschikt om in productie te gebruiken voor evaluatie- en demodoeleinden, is omgeschreven in het hoofdstuk Docker-setup.