Ollama è una soluzione Open Source che permette di implementare LLM (Large Language Model) localmente. Il progetto supporta una grande varietà di modelli generativi, come per esempio Llama 2 di Meta, Mistral e Vicuna. Si tratta anche in questo caso di piattaforme libere e aperte a sviluppatori esterni. Sono invece esclusi LLM come GPT, che è alla base di ChatGPT, o Gemini di Google che sono delle alternative commerciali e Open Source.
Come installare Ollama
È possibile installarla sul proprio terminale macOS attraverso un apposito package messo a disposizione tramite il repository GitHub del progetto. Se invece si vuole operare su Windows è necessario disporre di WSL2 sul proprio ambiente di lavoro, nel prossimo futuro dovrebbe essere comunque disponibile anche un package per i sistemi operativi di Microsoft.
In Linux e in WSL2 è sufficiente lanciare la seguente istruzione:
curl https://ollama.ai/install.sh | sh
Fatto questo non rimane altro che eseguire l'LLM scelto tramite Ollama attraverso un comando come quello proposto di seguito. Con l'unica avvertenza di indicare con precisione il nome del modello da utilizzare. Ad esempio:
ollama run llama2
Chi preferisce lavorare tramite containerizzazione può utilizzare l'immagine Docker presente nella libreria di Docker Hub.
Librerie Python e JavaScript
Sono state implementate di recente delle librerie che consentono di interagire tramite Python e JavaScript. È possibile installare la prima tramite pip:
pip install ollama
Mentre per la seconda si deve utilizzare npm:
npm install ollama
Il vantaggio nell'impiego di queste librerie risiede nel fatto che entrambe supportano l'integrazione di nuove applicazioni o applicazione preesistenti con Ollama. Sono sufficienti poche righe di codice. Non manca naturalmente una REST API appositamente dedicata. Gli ambiti di utilizzo sono i può disparati, dalle soluzioni multimodali in grado di gestire tipologie di contenuti differenti al semplice supporto per il completamento automatico dei testi.
Per Ollama sono disponibili già da qualche tempo le librerie per altri linguaggi tra cui Dart, Swift, C#, Java, PHP e Rust.