d
An igniting portfolio theme designed
to help you leave quite a mark.
Back to Top

Invictum.hr

Pokretanje velikih jezičnih modela (LLM) lokalno s Ollama

Pokretanje velikih jezičnih modela (LLM) lokalno može biti vrlo korisno, bilo da želite eksperimentirati s LLM-ovima ili izgraditi snažnije aplikacije koje ih koriste. No, konfiguriranje vašeg radnog okruženja i pokretanje LLM-ova na vašem računalu nije jednostavno.

Dakle, kako pokrenuti LLM-ove lokalno bez ikakvih komplikacija? Predstavljamo Ollama, platformu koja olakšava lokalni razvoj s otvorenim velikim jezičnim modelima. S Ollama platformom, sve što vam je potrebno za pokretanje LLM-a—težine modela i sva konfiguracija—spakirano je u jednu Modelfile datoteku. Razmislite o tome kao Docker za LLM-ove.

U ovom tutorialu ćemo objasniti kako započeti s Ollama platformom za lokalno pokretanje velikih jezičnih modela. Krenimo odmah sa koracima!

Korak 1: Preuzmite Ollama

Prvi korak je preuzimanje Ollama platforme na vaše računalo. Ollama podržava sve glavne platforme: MacOS, Windows i Linux.

Da biste preuzeli Ollama, možete posjetiti službeni GitHub repozitorij i slijediti veze za preuzimanje. Ili posjetite službenu web stranicu i preuzmite instalacijski program ako koristite Mac ili Windows računalo.

Ja koristim Linux: Ubuntu distribuciju. Dakle, ako ste Linux korisnik poput mene, možete pokrenuti sljedeću naredbu da biste pokrenuli instalacijski skript:

$ curl -fsSL https://ollama.com/install.sh | sh

Proces instalacije obično traje nekoliko minuta. Tijekom procesa instalacije, svi NVIDIA/AMD GPU-ovi bit će automatski detektirani. Provjerite imate li instalirane drivere. CPU-only način rada također radi dobro, ali može biti znatno sporiji.

Korak 2: Preuzmite Model

Zatim, možete posjetiti biblioteku modela da biste provjerili popis svih trenutno podržanih obitelji modela. Zadani model koji se preuzima je onaj s najnovijom oznakom. Na stranici svakog modela možete dobiti više informacija, poput veličine i kvantizacije korištene za model.

Možete pretraživati popis oznaka kako biste pronašli model koji želite pokrenuti. Za svaku obitelj modela obično postoje osnovni modeli različitih veličina i varijante prilagođene za specifične zadatke. Zanimaju me pokretanje Gemma 2B modela iz Gemma obitelji laganih modela koje je razvila Google DeepMind.

Model možete pokrenuti koristeći ollama run naredbu da biste povukli i počeli direktno komunicirati s modelom. Međutim, također možete povući model na svoje računalo prije nego ga pokrenete. Ovo je vrlo slično načinu rada s Docker slikama.

Za Gemma 2B, pokretanje sljedeće pull naredbe preuzet će model na vaše računalo:

$ ollama pull gemma:2b

Model ima veličinu od 1.7B i preuzimanje bi trebalo trajati minutu ili dvije.

Korak 3: Pokrenite Model
Pokrenite model koristeći ollama run naredbu kao što je prikazano:

$ ollama run gemma:2b

Pokretanjem ove naredbe započet će Ollama REPL (Read-Eval-Print Loop) gdje možete komunicirati s Gemma 2B modelom.

Za jednostavno pitanje o Python standardnoj biblioteci, odgovor je prilično zadovoljavajući i uključuje najčešće korištene module.

Korak 4: Prilagodite LLM

Možete prilagoditi LLM-ove postavljanjem sistemskih upita za određeno željeno ponašanje:

  1. Postavite sistemski upit za željeno ponašanje.
  2. Spremite model dajući mu ime.
  3. Izađite iz REPL-a i pokrenite upravo kreirani model.

Pretpostavimo da želite da model uvijek objašnjava koncepte ili odgovara na pitanja na jednostavnom engleskom jeziku s minimalnim tehničkim žargonom. Evo kako to možete učiniti:

>>> /set system For all questions asked answer in plain English avoiding technical jargon as much as possible
Set system message.
>>> /save ipe
Created new model 'ipe'
>>> /bye

Korak 5: Korištenje Ollama s Python-om

Pokretanje Ollama klijenta iz naredbenog retka i interakcija s LLM-ovima lokalno u Ollama REPL-u je dobar početak. Ali često biste željeli koristiti LLM-ove u svojim aplikacijama. Možete pokrenuti Ollama kao server na vašem računalu i izvršavati cURL zahtjeve.

No, postoje jednostavniji načini. Ako volite koristiti Python, vjerojatno ćete htjeti graditi LLM aplikacije i evo nekoliko načina kako to možete učiniti:

Korištenje Ollama Python Biblioteke

Da biste koristili Ollama Python biblioteku, možete je instalirati koristeći pip kao što je prikazano:

$ pip install ollama

 

Postoji i službena JavaScript biblioteka koju možete koristiti ako radije razvijate s JS-om.

Nakon što instalirate Ollama Python biblioteku, možete je importirati u svoju Python aplikaciju i raditi s velikim jezičnim modelima. Evo isječka za jednostavan zadatak generiranja jezika:

 

import ollama

response = ollama.generate(model='gemma:2b', prompt='what is a qubit?')
print(response['response'])

Korištenje LangChain-a

Drugi način korištenja Ollama s Python-om je korištenje LangChain-a. Ako imate postojeće projekte koristeći LangChain, lako je integrirati ili prebaciti se na Ollama.

Provjerite imate li instaliran LangChain. Ako ne, instalirajte ga koristeći pip:

$ pip install langchain

Evo primjera:

from langchain_community.llms import Ollama

llm = Ollama(model="llama2")
llm.invoke("tell me about partial functions in python")

Korištenje LLM-ova poput ovog u Python aplikacijama olakšava prebacivanje između različitih LLM-ova ovisno o aplikaciji.

Zaključak

S Ollama platformom možete pokretati velike jezične modele lokalno i graditi aplikacije pogonjene LLM-ovima s nekoliko linija Python koda. Ovdje smo istražili kako komunicirati s LLM-ovima u Ollama REPL-u, kao i iz Python aplikacija.

Sljedeće ćemo pokušati izgraditi aplikaciju koristeći Ollama i Python. Do tada, ako želite detaljnije proučiti LLM-ove, pogledajte “7 koraka do savladavanja velikih jezičnih modela (LLM)”.