Запуск локальных моделей с Ollama и llama.cpp
Ollama превращает запуск LLM в аналог команды «docker run», а llama.cpp предлагает более глубокий контроль над квантизацией и C++.
«Запуск локальных моделей с Ollama и llama.cpp» — бесплатный урок AI Agents на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Два простых пути
Для самостоятельного запуска открытых моделей на рабочей станции или сервере:
- Ollama — самый простой вариант, интерфейс для языковых моделей похож на Docker
- llama.cpp — ближе к аппаратному уровню, больше контроля, меньший объём ресурсов
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)Вызов инструментов в Ollama
Ollama поддерживает вызов инструментов для совместимых моделей (Llama 3.1+, Mistral, Qwen 2.5):
tools = [{'type': 'function', 'function': {...}}]
response = client.chat.completions.create(
model='llama3.1:8b',
messages=messages,
tools=tools
)Основы llama.cpp
llama.cpp — реализация на C++, которая запускает любую модель в формате GGUF на CPU, GPU или 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/v1Квантизация
Квантизация до 4 бит (Q4_K_M) позволяет запускать модель «16GB» примерно в 5GB RAM с незначительной потерей качества. Сначала попробуйте Q4; для задач, критичных к качеству, используйте более высокие варианты (Q5, Q6, Q8).
Требования к оборудованию
| Модель | RAM Q4 | VRAM Q4 |
|---|---|---|
| 7-8B | ~6 GB | ~6 GB |
| 13B | ~10 GB | ~10 GB |
| 70B | ~40 GB | ~40 GB |
Объединённая память Apple Silicon делает крупные локальные модели неожиданно удобными.
vLLM для высокой пропускной способности
Для размещения в рабочей среде при высокой параллельной нагрузке используйте vLLM (PagedAttention, непрерывная пакетная обработка):
# 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 — ещё один сервер для рабочей среды. Он хорошо поддерживает использование инструментов.
Сравнение серверов
- Ollama — лучший интерфейс, простой CLI/HTTP, хорошо подходит для разработки
- llama.cpp — самый лёгкий, работает где угодно
- vLLM — самая высокая пропускная способность, только GPU
- TGI — интеграция с HuggingFace, мониторинг
Когда размещать модели самостоятельно
- Строгие требования к конфиденциальности
- Очень большой объём (порог окупаемости — примерно 10M токенов в день)
- Дообученные модели
- Периферийные или автономные сценарии
Когда не стоит размещать модели самостоятельно
- Небольшие побочные проекты: размещённые решения дешевле
- Требуется качество рассуждений на уровне передовых моделей
- Мультимодальные задачи
Конечная точка, совместимая с OpenAI
Почему соглашение о конечной точке, совместимой с OpenAI, удобно для локальных моделей?
Итоги
Ollama — для простоты разработки, llama.cpp — для переносимости, vLLM — для производительности в рабочей среде. Все используют API в формате OpenAI, поэтому их можно заменить без изменения кода.
Часто задаваемые вопросы
Урок «Запуск локальных моделей с Ollama и llama.cpp» бесплатный?
Да — полный текст урока «Запуск локальных моделей с Ollama и llama.cpp» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.
Чему я научусь в уроке «Запуск локальных моделей с Ollama и llama.cpp»?
Ollama превращает запуск LLM в аналог команды «docker run», а llama.cpp предлагает более глубокий контроль над квантизацией и C++. Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AI Agents?
Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Запуск локальных моделей с Ollama и llama.cpp»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Agents?
Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Обзор Llama, Mistral и Qwen
- Запуск локальных моделей с Ollama и llama.cpp
- Вызов функций в открытых моделях (Hermes, Functionary)
- Компромиссы: задержка, стоимость, возможности