# Software libero a scuola/Ollama

Software libero a scuola
Copertina Tutti i moduli · Sviluppo
    CopertinaSoftware libero a scuola/Copertina
* Introduzione
* La storia della WiiLDSoftware libero a scuola/La nostra storia
* NovitàSoftware libero a scuola/Novità
* Solidarietà digitaleSoftware libero a scuola/Solidarietà digitale
* Fdroid
* VideotrackingSoftware libero a scuola/Vidanalisysfree
* Screen Stream over Http
* Jitsi Meet
* Commons
* Google - Animali e dinosauri in 3d
* Registra con AudacitySoftware libero a scuola/Registra con Audacity
* Registrare e creare file audio con AudacitySoftware libero a scuola/Registrare e creare file audio con Audacity
* SchoolcomSoftware libero a scuola/Schoolcom
* Calibre on line
* Attivare linux (beta)Software libero a scuola/Attivare linux (beta)
* Installare linux (beta)Software libero a scuola/Installare linux (beta)
* Usare Linux (beta)
* Installare Studio One 2 con wineSoftware libero a scuola/Installare Studio One 2 con wine
* Scratch e i suoi fratelliSoftware libero a scuola/Scratch e i suoi fratelli
* Open codingSoftware libero a scuola/OpenCoding
* OpenrobertaSoftware libero a scuola/Openroberta
* MblockSoftware libero a scuola/Mblock
* H5PSoftware libero a scuola/H5P
* Exelearning
* WordPressSoftware libero a scuola/WordPress
* Joomla
* Drupal
* Sito web della scuolaSoftware libero a scuola/Sito web della scuola
* ArawordSoftware libero a scuola/Araword
* Grid AstericsSoftware libero a scuola/Grid Asterics
* EviacamSoftware libero a scuola/Eviacam
* PictofacileSoftware libero a scuola/Pictofacile
* SIMCAA
* CrowdmapSoftware libero a scuola/Crowdmap
* OpenStreetMapSoftware libero a scuola/OpenStreetMap
** UmapSoftware libero a scuola/OpenStreetMap/Umap
* Gocarto
* Capire e farsi capire giocandoSoftware libero a scuola/Capire e farsi capire giocando
* MinetestSoftware libero a scuola/Minetest
** Comandi di MinetestSoftware libero a scuola/Minetest/Comandi di Minetest
** Fare cose su MinetestSoftware libero a scuola/Minetest/Fare cose su Minetest
** Scrivere libri su MinetestSoftware libero a scuola/Minetest/Scrivere libri su Minetest
** Mod bike
** Mod Chemistry
** Mod Digilines
** Mod FacadeSoftware libero a scuola/Minetest/Mod Facade
** Mod LettersSoftware libero a scuola/Minetest/Mod Letters
** Mod LwscratchSoftware libero a scuola/Minetest/Mod Lwscratch
** Mod Jukebox
** Mod MeseconsSoftware libero a scuola/Minetest/Mod Mesecons
** Mod Mesecons soundblockSoftware libero a scuola/Minetest/Mod Mesecons_soundblock
** Mod MinetestMovementFramesSoftware libero a scuola/Minetest/Mod MinetestMovementFrames
** Mod Moreblocks
** Mod Orienteering
** Mod painterSoftware libero a scuola/Minetest/Mod painter
** Mod power generator
** Mod presentationsSoftware libero a scuola/Minetest/Mod presentations
** Mod Sculpture
** Mod signs libSoftware libero a scuola/Minetest/Mod signs lib
** Mod street signs
** Mod VikidiaSoftware libero a scuola/Minetest/Mod Vikidia
** Mod vbotsSoftware libero a scuola/Minetest/Mod vbots
** Mod WikiSoftware libero a scuola/Minetest/Mod Wiki
** Mod WikipediaSoftware libero a scuola/Minetest/Mod Wikipedia
* DrawpileSoftware libero a scuola/Drawpile
* Gimp
* Inkscape
* Krita
* Sweethome3DSoftware libero a scuola/Sweethome3D
* BDnfSoftware libero a scuola/BDnf
* SynfigSoftware libero a scuola/Synfig
* Hardware, trashware
* TouchscreenSoftware libero a scuola/Touchscreen
* Videolezioni con OpenboardSoftware libero a scuola/Openboard
* FlipbookSoftware libero a scuola/Flipbook
* LadigitaleSoftware libero a scuola/Ladigitale
* StoryweaverSoftware libero a scuola/Storyweaver
* AI get startedSoftware libero a scuola/AI get started
* ChatGPTSoftware libero a scuola/ChatGPT
* lmstudioSoftware libero a scuola/lmstudio
* MachineLearningForKidsSoftware libero a scuola/MachineLearningForKids
* OllamaSoftware libero a scuola/Ollama
* RAG - Come fareSoftware libero a scuola/RAG - Come fare
* Stable DiffusionSoftware libero a scuola/Stable Diffusion
* Lavagne interattiveSoftware libero a scuola/Lavagne interattive
* OpenboardSoftware libero a scuola/Openboard
* Lezioni in webchat con JitsiSoftware libero a scuola/Jitsi
* Installazione server JitsiSoftware libero a scuola/Jitsi-installazione-su-vps
* Lezioni in webchat con BigBlueButtonSoftware libero a scuola/BigBlueButton
* Installazione server BigBlueButtonSoftware libero a scuola/BigBlueButton installazione
* Collaborare in modo sincronoSoftware libero a scuola/Collaborare in modo sincrono
* Chat testualiSoftware libero a scuola/Chat testuali
* Chat audioSoftware libero a scuola/Chat audio
* UnhangoutSoftware libero a scuola/Unhangout
* OpenDX
* MoodleSoftware libero a scuola/Moodle
** Moodle quizSoftware libero a scuola/Moodle/Moodle quiz
* AdaSoftware libero a scuola/Ada
* ChamiloSoftware libero a scuola/Chamilo
* Mappe mentali e concettualiSoftware libero a scuola/Mappe mentali e concettuali
* Wiki2mapSoftware libero a scuola/Wiki2map
* FreeplaneSoftware libero a scuola/Freeplane
* Draw.ioSoftware libero a scuola/Draw.io
* HeimerSoftware libero a scuola/Heimer
* MymarkmapSoftware libero a scuola/Mymarkmap
* Musescore
* FrescobaldiSoftware libero a scuola/Frescobaldi
* Costruisci una chiavetta UsbSoftware libero a scuola/Costruisci una chiavetta Usb
* Costruisci un DVDSoftware libero a scuola/Costruisci un DVD
* CD e DVD allegatiSoftware libero a scuola/CD e DVD allegati
* Video
* Gestore dei pacchettiSoftware libero a scuola/Gestore dei pacchetti
* Uso di VirtualboxSoftware libero a scuola/Uso di Virtualbox
* SodilinuxSoftware libero a scuola/Sodilinux
* BubbleSoftware libero a scuola/Bubble
* MblockSoftware libero a scuola/Mblock
* Mbot2Software libero a scuola/Mbot2
* Micro:Bit
* Mind DesignerSoftware libero a scuola/Mind Designer
* Opensource turtle robotSoftware libero a scuola/Opensource turtle robot
* Robotica risorse e approfondimentiSoftware libero a scuola/Robotica risorse e approfondimenti
* Spike prime
* SuperDoc
* ThymioSoftware libero a scuola/Thymio
** Thymio sensori di prossimitàSoftware libero a scuola/Thymio sensori di prossimità
** Thymio sensori terrenoSoftware libero a scuola/Thymio sensori terreno
* VideotrackingSoftware libero a scuola/Tracker
* Concord - Applet scienze onlineSoftware libero a scuola/Concord/
* Phet - Applet scienze onlineSoftware libero a scuola/Phet
* Simscale - Simulatore scienzaSoftware libero a scuola/Simscale
* CryptpadSoftware libero a scuola/Cryptpad
* CodimdSoftware libero a scuola/Codimd
** FlipbookSoftware libero a scuola/Flipbook
* Scrittura collaborativa, tabella di riepilogoSoftware libero a scuola/ScritturaCollaborativa
* Scrittura collaborativa con AbiWordSoftware libero a scuola/AbiWord
* LibreOffice
* PdfSoftware libero a scuola/Pdf
* PDFtk
* PDFedit
* PdfSam
* Pdf4TeacherSoftware libero a scuola/Pdf4Teacher
* Cmap Tools
* Learningapps
* VocarooSoftware libero a scuola/Vocaroo
* VideotrackingSoftware libero a scuola/Vidanalisysfree
* Gsuite
* Anydesk
* RemminaSoftware libero a scuola/Remmina
* Remotely
* ScreentaskSoftware libero a scuola/Screentask
* RustdeskSoftware libero a scuola/Rustdesk
* Laboratori con linuxSoftware libero a scuola/Laboratori con linux
** ProxmoxSoftware libero a scuola/Laboratori con linux/Proxmox
** ZentyalSoftware libero a scuola/Laboratori con linux/Zentyal
*** Gestione utenti LDAPSoftware libero a scuola/Laboratori con linux/Zentyal/Gestione utenti LDAP
* Allestimento PC linux per scuolaSoftware libero a scuola/Allestimento PC linux per scuola
** PFSenseSoftware libero a scuola/Gestire la rete/PFSense
* Orario scolastico - FETSoftware libero a scuola/Orario scolastico - FET
* Videoporama
* Imagination
* Polymny-studioSoftware libero a scuola/Polymny-studio
* VokoscreenSoftware libero a scuola/Vokoscreen
* Obs-studioSoftware libero a scuola/Obs-studio
* OpenshotSoftware libero a scuola/Openshot
* ShotcutSoftware libero a scuola/Shotcut
* KdenliveSoftware libero a scuola/Kdenlive
* VikidiaSoftware libero a scuola/Vikidia
* Wikiversity
* Wikibooks
* Wikivoyage
* Wiki2mapSoftware libero a scuola/Wiki2map
Modifica il sommario
chiudi indice
È possibile provare a interagire con l'intelligenza artificiale in rete su siti come gemini di google oppure chatGPT. Grazie a ollama è possibile installare sul proprio pc in locale una istanza di intelligenza artificiale che permette attraverso una chat, ottenuta nel terminale su ubuntu, di fare richieste, domande, porre problemi ed ottenere risposte come se si stesse chiacchierando, per iscritto, con un essere umano. Sono necessari:
* almeno 8GB di memoria ram
* almeno 10Gb di spazio su disco
* un po' di pazienza
Se, fortunatamente o per scelta, sul proprio pc si ha montata una scheda video Nvidia con una adeguata dotazione di ram i tempi di elaborazione e risposta dell'IA si riducono notevolmente.

## Installazione su linux Ubuntu

Su linux ubuntu, per installare ollama si da il comando

### Installazione alternativa

In alternativa è possibile installate Ollama con curl così come suggerito sul sito.
Sulla ubuntu 22.04 se non lo si ha già installato si può installare curl dal terminale con il comando
in genere ubuntu suggerisce di utilizzare anche snap per l'installazione, ma per il momento il comando curl installato via snap non permette poi di installare ollama.
Una volta installato curl si procede all'installazione con il comando

## Installazione di Ollama+OpenWebUI su Windows 11 con Docker
### Prerequisiti per la virtualizzazione:

* attivare Hyper-V da “Attivazione o disattivazione delle funzionalità Windows”
* installare WSL: aprire una finestra di powershell come amministratore e lanciare i comandi
seguire le richieste impostando username e password dell'utente UNIX. Riavviare il sistema.

### Installare Docker Desktop

Scaricare il paccheto da
https://www.docker.com/products/docker-desktop/
e avviare l'installazione. In caso di dubbi seguire le istruzioni su
https://docs.docker.com/desktop/install/windows-install/
Avviare Docker Desktop per verificare che l’installazione sia andata a buon fine.

### Installare Ollama

Prerequisito se si vuole usare la GPU per le inferenze:Ollama identifica la presenza di una GPU ma è necessario installare prima i driver Nvidia per la propria scheda grafica e il Cuda Toolkit da https://developer.nvidia.com/cuda-downloads
Scaricare Ollama da https://ollama.com/download e lanciare l’installer.
Verificare che Ollama sia stato installato aprendo un browser e andando su
http://127.0.0.1:11434/
il browser dovrebbe rispondere con una schermata nera con in alto a sinistra la scritta “Ollama is running”.

### Avviare il container docker con l’immagine di Open WebUI

Aprire un una finestra di powershell e digitare
Dopo l’avvio del container docker andare su http://localhost:3000 e creare l’utente admin cliccando su signup.

### Fermare le applicazioni

Ollama server rimane attivo ma non dovrebbe consumare risorse. Se tuttavia vuoi fermare Ollama server, clicca sull’icona di Ollama nel Centro notifiche (all'estremità destra della barra delle applicazioni, se non è visibile cliccare sull’icona a forma di freccia “Mostra icone nascoste”) e cliccare su “Quit Ollama”.
Se Ollama server si dovesse riavviare, è possibile forzare l'arresto aprendo una finestra di powershell e digitando
Per fermare il container OpenWebUI: aprire DockerDesktop e cliccare su STOP sulla linea corrispondente.
Per riavviare le applicazioni
* lanciare l’applicazione Ollama
* aprire Docker Desktop e avviare il container di OpenWebUI

## Installazione di Ollama+OpenWebUI su Debian "bookworm" con Docker
### Installare Docker e docker-compose

Aggiungere la chiave GPG ufficiale Docker, come utente con permessi sudo, da terminale:
Aggiungere il repository APT:
Installare la versione più recente di docker e docker compose
Verificare che l'installazione abbia avuto successo avviando l'immagine "hello-world":
fonte: https://docs.docker.com/engine/install/debian/#install-using-the-repository

### Installare i Driver NVIDIA e il CUDA toolkit (facoltativo)

Passo da seguire se si vuole usare la GPU per le inferenze e velocizzare l'uso di Ollama.
Controllare se i driver della GPU sono installati, da terminale:
Se si ottiene una schermata come quella che segue, i driver sono già installati.
Altrimenti installare i driver (TO DO...)
Controllare se è installato il CUDA toolkit digitando
altrimenti, autenticarsi come root
e installare il CUDA toolkit da terminale digitando :
Riavviare il servizio docker

### Avviare i container docker

Creare una cartella Ollama, ad esempio, sotto la cartella home del proprio utente (e.g. myuser) ed accederci:
Creare un file denominato docker-compose.yaml
Creare un file denominato docker-compose.yaml e incollare il seguente testo:
Chiudere il file con CTRL+X e salvarne il contenuto.
Per avviare i container digitare:
Andare su http://localhost:8282/ (o inserire il proprio ip al posto di localhost) per accedere all'interfaccia grafica di Open WebUI.
Per fermare i container senza perdere dati (modelli LLM scaricati e dati utente) digitare:

## Uso di ollama

Per avviare ollama si deve scegliere un modello di linguaggio, una volta scelto il modello, ad esempio llama3, si lancia il prompt con il comando
Alla prima esecuzione ollama scarica sul pc una file di circa 5 gb, nel caso di llama3, e quindi si deve avere la pazienza, e lo spazio su disco, per concludere il download.
Una volta avviato ollama presenta un prompt in colore grigio
scrivendo sopra al prompt si possono fare domande e presentare problemi in italiano oppure in inglese e, dopo un attimo di elaborazione, si ottiene una risposta.
Per uscire dal prompt si deve dare il comando
Per avere una lista dei comandi prima di attivare il prompt nel terminale si lancia
Che il server di ollama sia attivo e funzionante lo si può controllare dal browser andando all'indirizzo
la scritta Ollama is running ci garantisce che ollama sia in funzione.
Se ci fosse la necessità di spegnerlo si può ricorrere al comando

## Ollama interfaccia web

Una volta installato Ollama risponde anche su una interfaccia web
ed ovviamente se cercato da un pc in rete locale
Se sono stati scaricati diversi modelli di linguaggio è possibile scegliere con quale modello interagire ed avviare poi una chat semplicemnte inserendo la richiesta nella casella in basso.
Nella chat si possono anche caricare file, ad esempio un pdf, che l'AI leggerà ed imparerà permettendoci così di farle richieste a riguardo del testo che le abbiamo passato. Per caricare i file basta trascinarli sulla casella della chat.
In questo modo però il testo passato all'AI sarà disponibile solo per la chat in corso. Ollama permette però di fornire dei testi al server che possono essere richiamati e messi a disposizione dell'AI per migliorare le proprie risposte.

## Allenare Ollama RAG

A seconda del modello di linguaggio scelto Ollama può dare risposte più o meno precise.
E' possibile però mettere sul server dei testi che possono essere facilmente richiamati a seconda del bisogno inserendo nella casella della chat il simbolo #.
Innanzitutto ci si deve procurare dei testi che parlino dell'argomento che vogliamo sia imparato dall'AI, ad esempio dei libri in formato pdf.
Poi facendo la login sull'interfaccia web di Ollama, in modalità amministratore, si deve aprire la scheda documenti che si trova clikkando su Area di lavoro/documenti.
Un evidente tasto + in alto a destra permette il caricamento dei documenti che avviene trascinando il file sulla casella di inserimento.
Una volta caricato il documento è buona cosa andare nella finestra di impostazioni/documenti e clikkare sul tasto scansiona.
A questo punto Ollama mette a disposizione di chiunque si colleghi la possibilità di utilizzare i testi caricati come propria conoscenza. Se si vuole che l'AI risponda utilizzando il contenuto del file si deve semplicemente iniziare la chat con un # e scegliere i file che si vuole sia imparato dalla AI.

## Creare un modello Ollama personalizzato (es. Dante Alighieri chatbot)

Creare un modello personalizzato, a partire da un LLM precedentemente caricato su Ollama, per creare un chatbot che dialoghi con l'utente impersonando, ad esempio, Dante Alighieri è semplice.
Andare in "Area di lavoro" (in alto a sinistra nella schermata principale) e dalla finestra "Modelli" fare click su "Creare un modello: personalizza i modelli per uno scopo specifico". Apparirà una finestra come quella nella figura che segue: inserire un nome, un ID del modello e una descrizione a piacere, scegliere il modello base tra quelli precedentemente caricati su Ollama.
Inserire il prompt di sistema per personalizzare il modello. Nell'esempio del chatbot di Dante Alighieri il prompt potrebbe essere:
"You are Dante Alighieri, the famous italian poet, act and write as him. Make it like the Dante is talking to me in the way they would at the time and place they lived. Do not write mechanically like you are stating facts. Write like the person would. Write always in italian language. Double-check the grammatical and linguistic correctness of the answer before sending it to the user. Double-check the correctness of informations. Doesn't reply with another question. Don't start the reply always with the same words."
Cliccare su "Salva e aggiorna". Creare una "Nuova chat" e selezionare il modello appena creato. Di seguito un esempio di conversazione:

## Collegamenti esterni

* ilsoftware - IA in locale

## AI opensource a scuola

* AI get started
* Stable Diffusion
* lmstudio