Uruchamianie modeli lokalnych za pomocą Ollama i llama.cpp
Ollama zapewnia dla LLM-ów wygodę polecenia „docker run”, a llama.cpp oferuje bardziej zaawansowaną kwantyzację i bezpośrednią kontrolę w C++.
Uruchamianie modeli lokalnych za pomocą Ollama i llama.cpp to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Agents, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Agents zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Dwie proste ścieżki
W przypadku samodzielnego hostowania otwartych modeli na stacji roboczej lub serwerze dostępne są:
- Ollama — najprostsza opcja, interfejs przypominający Dockera dla LLM-ów
- llama.cpp — rozwiązanie bliższe sprzętowi, zapewniające większą kontrolę i mniejszy rozmiar
Ollama Quick Start
# Install (macOS):
brew install ollama
# Pull a model:
ollama pull llama3.1:8b
# Run interactively:
ollama run llama3.1:8b 'Hello'
# Serve via HTTP (OpenAI-compatible):
ollama serveCalling Ollama Via SDK
from openai import OpenAI
client = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')
response = client.chat.completions.create(
model='llama3.1:8b',
messages=[{'role': 'user', 'content': 'Hello'}]
)
print(response.choices[0].message.content)Wywoływanie narzędzi w Ollama
Ollama obsługuje wywoływanie narzędzi w zgodnych modelach (Llama 3.1+, Mistral, Qwen 2.5):
tools = [{'type': 'function', 'function': {...}}]
response = client.chat.completions.create(
model='llama3.1:8b',
messages=messages,
tools=tools
)Podstawy llama.cpp
llama.cpp to implementacja w C++, która uruchamia DOWOLNY model w formacie GGUF na CPU, GPU lub Metal (Apple Silicon):
# Build (or install pre-built):
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp && make
# Run a quantized model:
./llama-cli -m models/llama-3.1-8b-instruct.Q4_K_M.gguf -p 'Hello'Server Mode
./llama-server -m models/llama-3.1-8b-instruct.Q4_K_M.gguf --port 8080
# Now OpenAI-compatible endpoint at http://localhost:8080/v1Kwantyzacja
Kwantyzacja 4-bitowa (Q4_K_M) pozwala uruchomić model „16GB” przy użyciu około 5GB pamięci RAM, przy niewielkiej utracie jakości. Najpierw należy wypróbować Q4; w zadaniach, w których jakość ma krytyczne znaczenie, warto użyć wyższej kwantyzacji (Q5, Q6, Q8).
Wymagania sprzętowe
| Model | RAM Q4 | VRAM Q4 |
|---|---|---|
| 7-8B | ~6 GB | ~6 GB |
| 13B | ~10 GB | ~10 GB |
| 70B | ~40 GB | ~40 GB |
Zunifikowana pamięć Apple Silicon sprawia, że duże modele lokalne są zaskakująco użyteczne.
vLLM dla przepustowości
Do obsługi produkcyjnej przy dużej liczbie równoczesnych żądań należy użyć vLLM (PagedAttention, ciągłe grupowanie):
# pip install vllm
from vllm import LLM, SamplingParams
llm = LLM(model='meta-llama/Llama-3.1-8B-Instruct')
params = SamplingParams(temperature=0.2, max_tokens=512)
result = llm.generate(['Hello world'], params)Text Generation Inference (TGI)
HuggingFace TGI to kolejny serwer produkcyjny. Oferuje wysokiej jakości obsługę użycia narzędzi.
Porównanie serwerów
- Ollama — najlepszy interfejs, prosty CLI/HTTP, dobry wybór do programowania
- llama.cpp — najmniejszy, działa wszędzie
- vLLM — najwyższa przepustowość, tylko GPU
- TGI — integracja z HuggingFace, monitorowanie
Kiedy korzystać z własnego hostingu
- Rygorystyczne wymagania dotyczące prywatności
- Bardzo duży wolumen (próg opłacalności to około 10 mln tokenów dziennie)
- Modele dostrojone
- Scenariusze brzegowe lub działanie offline
Kiedy NIE korzystać z własnego hostingu
- Małe projekty poboczne (hosting jest tańszy)
- Wymagana jakość rozumowania na poziomie najlepszych modeli
- Zadania wielomodalne
Endpoint zgodny z OpenAI
Dlaczego konwencja endpointu zgodnego z OpenAI jest wygodna w przypadku modeli lokalnych?
Podsumowanie
Ollama zapewnia prostotę programowania, llama.cpp — przenośność, a vLLM — wysoką przepustowość produkcyjną. Wszystkie te rozwiązania obsługują API zgodne z OpenAI, więc można je zamieniać bez zmiany kodu.
Często zadawane pytania
Czy lekcja „Uruchamianie modeli lokalnych za pomocą Ollama i llama.cpp” jest bezpłatna?
Tak — pełny tekst „Uruchamianie modeli lokalnych za pomocą Ollama i llama.cpp” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Agents, przejdź na CoddyKit PRO. Kurs AI Agents zawiera 4 lekcji w sumie.
Co nauczysz się w „Uruchamianie modeli lokalnych za pomocą Ollama i llama.cpp”?
Ollama zapewnia dla LLM-ów wygodę polecenia „docker run”, a llama.cpp oferuje bardziej zaawansowaną kwantyzację i bezpośrednią kontrolę w C++. Ćwiczysz AI Agents z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AI Agents?
Nie wymagamy żadnego doświadczenia. AI Agents w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Uruchamianie modeli lokalnych za pomocą Ollama i llama.cpp”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AI Agents?
Tak. Każda lekcja AI Agents zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Przegląd modeli Llama, Mistral i Qwen
- Uruchamianie modeli lokalnych za pomocą Ollama i llama.cpp
- Wywoływanie funkcji w modelach otwartych (Hermes, Functionary)
- Kompromisy: opóźnienie, koszt, możliwości