Vai al contenuto

Sperimentare i Modelli Linguistici Compatti con Ollama e GitHub Codespaces

Scopri come utilizzare Ollama in GitHub Codespaces per eseguire modelli linguistici compatti senza bisogno di GPU.

Se non lo hai già fatto, Ollama rappresenta uno strumento eccellente costruito sulla base di llama.cpp, che facilita l’esecuzione di piccoli modelli linguistici (SLM) come Phi-3 e Llama3-8B direttamente sul tuo computer, anche se non dispone di GPU o utilizza un chip ARM. Ollama offre sia un’interfaccia a riga di comando che un endpoint di chat compatibile con OpenAI.

Tuttavia, cosa fare se il tuo computer non può eseguire Ollama, come nel caso di un ChromeBook o un iPad? Qui entra in gioco GitHub Codespaces. Codespaces permette di aprire qualsiasi repository GitHub nel browser, utilizzando un ambiente di sviluppo containerizzato basato su VS Code, personalizzato tramite un file devcontainer.json.

Per includere Ollama in Codespaces per un repository, basta aggiungere questa funzionalità creata dalla community nel file devcontainer.json:

"features": {  "ghcr.io/prulloac/devcontainer-features/ollama:1": {}},

Aprendo un repository con questa funzione aggiunta, è possibile aprire il terminale del Codespace nel browser e eseguire un modello dal catalogo di modelli Ollama:

screenshot_ollamaterminal (1).png

Ollama può essere chiamato programmaticamente, sia tramite il suo endpoint standard, sia tramite il suo endpoint compatibile con OpenAI utilizzando un SDK OpenAI:

import openaiclient = openai.OpenAI(    base_url="http://localhost:11434/v1",    api_key="nokeyneeded",) response = client.chat.completions.create(    model="phi3:mini",    messages=[        {"role": "system", "content": "You are a helpful assistant."},        {"role": "user", "content": "Write a haiku about a hungry cat"},    ],)print(response.choices[0].message.content)

Ollama Python Playground

Per chi vuole iniziare a utilizzare Ollama con Python, è possibile aprire il Codespace di questo repository:

https://github.com/pamelafox/ollama-python-playground/

Questo repository include la funzionalità Ollama, l’SDK OpenAI, un notebook con dimostrazioni di few-shot e RAG, e uno script Python per una chat interattiva. Una risorsa eccellente per insegnanti e studenti.

Ollama C# Playground

Se preferisci utilizzare Ollama con .NET, apri questo playground C# in Codespaces:

https://github.com/elbruno/Ollama-CSharp-Playground

Il repository include anche codice di esempio per attività comuni con gli SLMs e un video tutorial per guidarti passo dopo passo.

Phi-3 CookBook

Abbiamo aggiunto la funzionalità Ollama anche al repository Phi-3CookBook:

https://github.com/microsoft/Phi-3CookBook

Aprendo questo repository in un GitHub Codespace, potrai utilizzare Ollama mentre leggi le guide. Sebbene i Codespaces abbiano delle limitazioni in termini di risorse e mancanza di GPU, Ollama ottimizza le prestazioni per queste situazioni. Tuttavia, alcuni notebook Jupyter che utilizzano il pacchetto transformers potrebbero risultare lenti senza una GPU.

Questi strumenti abbassano significativamente la barriera d’ingresso per chiunque sia interessato a sperimentare con i piccoli modelli linguistici, rendendo più accessibile l’inizio di questo affascinante percorso.