Запускайте Hermes локально с помощью Ollama — нулевая стоимость API

Проблема

API-интерфейсы Cloud LLM взимают плату за токен. Тяжелый сеанс кодирования может стоить 5–20 долларов. Для личных проектов, обучения или работы, требующей конфиденциальности, это суммируется — и вы отправляете каждый разговор третьей стороне.

Что решает это руководство

Вы настроите агент Hermes для работы полностью на вашем собственном оборудовании, используя Ollama в качестве серверной части модели. Никаких ключей API, никаких подписок, никаких данных, покидающих ваш компьютер. После настройки Hermes работает точно так же, как с OpenRouter или Anthropic — команды терминала, редактирование файлов, просмотр веб-страниц, делегирование — но модель работает локально.

К концу у вас будет:

Что вам нужно

Компонент Минимум Рекомендуется
ОЗУ 8 ГБ (для моделей 3B) 32+ ГБ (для моделей 27B+)
Хранение 5 ГБ бесплатно 30+ ГБ (для нескольких моделей)
ЦП 4 ядра 8+ ядер (AMD EPYC, Ryzen, Intel Xeon)
ГП Не требуется Графический процессор NVIDIA с более чем 8 ГБ видеопамяти значительно ускоряет работу
Ollama работает на серверах только с ЦП. Модель 9B на современном 8-ядерном процессоре выдаёт ~10 токенов/сек. Модель 31B на CPU медленнее (~2–5 токенов/сек) — каждый ответ занимает 30–120 секунд, но работает. Графический процессор значительно улучшает эту ситуацию. Для настроек только с процессором увеличьте время ожидания API с помощью переменной env (это не ключ config.yaml):
# ~/.hermes/.env
HERMES_API_TIMEOUT=1800   # 30 minutes — generous for slow local models
```</div>
## Шаг 1: Установите Олламу
```bash
curl -fsSL https://ollama.com/install.sh | sh

Убедитесь, что он работает:

ollama --version
curl http://localhost:11434/api/tags   # Should return {"models":[]}

Шаг 2: Извлечение модели

Выбирайте в зависимости от вашего оборудования:

Модель Размер на диске Требуется оперативная память Вызов инструмента Лучшее для
гемма4:31b ~20 ГБ 24+ ГБ Да Лучшее качество — эффективное использование инструментов и обоснование
гемма2:27b ~16 ГБ 20+ ГБ Нет Разговорные задачи без использования инструментов
джемма2:9b ~5 ГБ 8+ ГБ Нет Быстрый чат, вопросы и ответы — нельзя вызвать инструменты
лама3.2:3b ~2 ГБ 4+ ГБ Нет Только легкие быстрые ответы
Hermes — это агентский помощник: он редактирует файлы, выполняет команды и просматривает веб-страницы с помощью вызовов инструментов. Модели без поддержки вызова инструментов могут только общаться в чате; они не могут предпринять действия. Для полноценного использования Hermes используйте модель, поддерживающую инструменты (например, «gemma4:31b»).
Вытащите выбранную вами модель:
ollama pull gemma4:31b
```<div class="admonition admonition-info"><p class="admonition-title">ℹ️ Info</p> Несколько моделей
Вы можете загрузить несколько моделей и переключаться между ними внутри Hermes с помощью `/model`. Оллама загружает активную модель в память по требованию и автоматически выгружает простаивающие.</div>
Убедитесь, что модель работает:
```bash
curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma4:31b",
    "messages": [{"role": "user", "content": "Say hello"}],
    "max_tokens": 50
  }'

Вы должны увидеть ответ JSON с ответом модели.

Шаг 3: Настройте Гермес

Запустите мастер настройки Hermes:

hermes setup

При запросе поставщика выберите Пользовательская конечная точка и введите:

Альтернативно, отредактируйте ~/.hermes/config.yaml напрямую:

model:
  default: "gemma4:31b"
  provider: "custom"
  base_url: "http://localhost:11434/v1"

Шаг 4: Начните использовать Гермес

hermes

Вот и все. Теперь вы используете полностью локальный агент. Попробуйте:

You: List all Python files in this directory and count the lines of code in each

You: Read the README.md and summarize what this project does

You: Create a Python script that fetches the weather for Ho Chi Minh City

Hermes будет использовать инструмент терминала, файловые операции и вашу локальную модель — никаких облачных вызовов.

Шаг 5. Выберите модель, подходящую для вашей задачи

Не для каждой задачи нужна самая большая модель. Вот практическое руководство:

Задача Рекомендуемая модель Почему
Редактирование файлов, код, команды терминала гемма4:31b Единственная модель с надежным вызовом инструмента
Быстрые вопросы и ответы (использование инструментов не требуется) джемма2:9b Быстрые ответы на диалоговые задачи
Легкий чат лама3.2:3b Самый быстрый, но очень ограниченные возможности
Для полной агентской работы (редактирование файлов, запуск команд, просмотр) в настоящее время лучшим локальным вариантом с поддержкой вызова инструментов является gemma4:31b. Проверьте библиотеку моделей Ollama на наличие новых моделей — поддержка вызова инструментов быстро расширяется.
Переключайте модели на лету внутри сеанса:
/model gemma2:9b

Шаг 6: Оптимизируйте скорость

Увеличить контекстное окно Олламы

По умолчанию Оллама использует контекст из 2048 токенов. Для агентской работы с инструментами Hermes требуется не менее 64 000 токенов:

# Create a Modelfile that extends context
cat > /tmp/Modelfile << 'EOF'
FROM gemma4:31b
PARAMETER num_ctx 64000
EOF

ollama create gemma4-64k -f /tmp/Modelfile

Затем обновите конфигурацию Hermes, указав в качестве названия модели «gemma4-64k».

Держите модель загруженной

По умолчанию Оллама выгружает модели после 5 минут бездействия. Для постоянного шлюзового бота оставьте его загруженным:

# Set keep-alive to 24 hours
curl http://localhost:11434/api/generate \
  -d '{"model": "gemma4:31b", "keep_alive": "24h"}'

Или установите его глобально в среде Олламы:

# /etc/systemd/system/ollama.service.d/override.conf
[Service]
Environment="OLLAMA_KEEP_ALIVE=24h"

Использовать разгрузку графического процессора (если доступно)

Если у вас есть графический процессор NVIDIA, Оллама автоматически выгружает на него слои. Проверьте с:

ollama ps   # Shows which model is loaded and how many GPU layers

Для модели 31B на графическом процессоре 12 ГБ вы получите частичную разгрузку (~ 40 слоев на графическом процессоре, остальное на процессоре), что все равно дает значительный прирост скорости.

Шаг 7. Запуск в качестве шлюзового бота (необязательно)

Как только Hermes начнет работать локально в CLI, вы сможете представить его как бот Telegram или Discord, при этом полностью работая на вашем оборудовании.

Телеграм

  1. Создайте бота через @BotFather и получите токен.
  2. Добавьте в свой ~/.hermes/config.yaml:
model:
  default: "gemma4:31b"
  provider: "custom"
  base_url: "http://localhost:11434/v1"

platforms:
  telegram:
    enabled: true
    token: "YOUR_TELEGRAM_BOT_TOKEN"
  1. Запустите шлюз:
hermes gateway

Теперь отправьте сообщение своему боту в Telegram — он ответит, используя вашу локальную модель.

Дискорд

  1. Создайте приложение Discord на странице discord.com/developers.
  2. Добавьте в конфиг:
platforms:
  discord:
    enabled: true
    token: "YOUR_DISCORD_BOT_TOKEN"
  1. Начало: ворота Гермеса

Шаг 8. Настройте резервные варианты (необязательно)

Локальные модели могут сталкиваться со сложными задачами. Настройте запасной вариант облака, который активируется только в случае сбоя локальной модели:

model:
  default: "gemma4:31b"
  provider: "custom"
  base_url: "http://localhost:11434/v1"

fallback_providers:
  - provider: openrouter
    model: anthropic/claude-sonnet-4

Таким образом, 90% вашего использования является бесплатным (локальным), и только сложные задачи затрагивают платный API.

Устранение неполадок

«Соединение отклонено» при запуске

Оллама не бежит. Запустите это:

sudo systemctl start ollama
# or
ollama serve

Медленные ответы

Проверьте размер модели по сравнению с оперативной памятью. Если вашей модели требуется больше оперативной памяти, чем доступно, она заменяется на диск. Используйте модель меньшего размера или добавьте ОЗУ. - Отметьте ollama ps: Если ни один из слоев графического процессора не выгружен, ответы зависят от процессора. Это нормально для серверов, использующих только ЦП. – Сокращение контекста. Большие разговоры замедляют процесс вывода. Регулярно используйте /compress или установите более низкий порог сжатия в конфигурации.

Медленный первый ответ (предварительное заполнение)

Hermes отправляет фиксированную полезную нагрузку при каждом вызове API — системное приглашение плюс схемы инструментов для всех включенных инструментов — перед любым содержимым вашего разговора. В конфигурациях только с ЦП или с низким объемом видеопамяти обработка этого приглашения (фаза предварительного заполнения) доминирует на первом этапе: модель может молчать в течение нескольких минут, пока обрабатывает приглашение, а затем генерирует в обычном темпе. Это ожидаемое поведение, а не зависание. Руководство Mac local-LLM документирует тот же эффект — во время предварительного заполнения в больших контекстах локальные модели могут не выдавать выходные данные в течение нескольких минут во время обработки запроса — и Hermes автоматически увеличивает время ожидания чтения потока со 120 с до 1800 с для локальных конечных точек («HERMES_STREAM_READ_TIMEOUT»).

Что помогает:

Модель не выполняет вызовы инструментов

Модели без поддержки вызовов инструментов создают простой текст вместо структурированных вызовов функций. Решения:

Если модель печатает в своем ответе необработанный JSON типа {"name": "web_search",...} вместо фактического запуска инструмента, то обычно это сервер, а не модель — вызов инструмента не включен или формат вызова инструмента не анализируется. См. таблицу исправлений для каждого сервера в Вызовы инструментов отображаются в виде текста вместо выполнения (для llama.cpp требуется --jinja, vLLM нужен --enable-auto-tool-choice --tool-call-parser hermes и т. д.).

Ошибки контекстного окна

Контекст Ollama по умолчанию (2048 токенов) слишком мал для агентской работы. См. Шаг 6, чтобы увеличить ее.

Сравнение затрат

Вот что экономит при локальном запуске по сравнению с облачными API, исходя из типичного сеанса кодирования (ввод ~100 000 токенов, выход ~20 000 токенов):

Провайдер Стоимость за сеанс Ежемесячно (ежедневное использование)
Антропный Сонет Клода ~$0,80 ~$24
OpenRouter (GPT-4o) ~$0,60 ~$18
Оллама (местный) 0,00$ 0,00$

Ваши единственные затраты — это электричество — примерно 0,01–0,05 доллара за сеанс в зависимости от оборудования.

Что хорошо работает локально

Что лучше с облачными моделями

Самое приятное: используйте локальную версию для повседневных задач, настройте резервное облако для сложных задач.