Docker Model Runner: простий спосіб запускати AI-моделі локально
Компанія Docker випустила нову функцію у бета-версії під назвою Docker Model Runner. Вона дозволяє завантажувати, запускати й керувати AI-моделями безпосередньо на вашому локальному комп’ютері без необхідності налаштовувати складну інфраструктуру. Але поки що ця функція доступна лише у Docker Desktop для Mac на Apple Silicon
Що воно таке і навіщо воно треба
Docker Model Runner — це плагін для Docker Desktop, який значно спрощує роботу з AI-моделями.
Він дозволяє:
- Завантажувати моделі з Docker Hub
- Запускати AI-моделі безпосередньо з командного рядка
- Керувати локальними моделями (додавати, переглядати, видаляти)
- Взаємодіяти з моделями через запити або у режимі чату
Як це працює
Моделі завантажуються лише один раз і зберігаються локально. Під час кожного запиту модель завантажується в пам’ять, а після завершення — вивантажується.
Ви можете працювати як з одноразовими запитами, так і в інтерактивному чат-режимі.
Одноразовий запит
docker model run ai/smollm2 "Hi" Hello! How can I assist you today?
Інтерактивний чат
docker model run ai/smollm2 Interactive chat mode started. Type '/bye' to exit. > Hi Hi there! It`s SmolLM, AI assistant. How can I help you today? > /bye Chat session ended.
Видалення моделі
Щоб видалити завантажену модель з системи:
docker model rm <model> Model <model> removed successfully
API-інтеграція
Із середини контейнера
Приклади виклику OpenAI-сумісного ендпоінту (chat/completions) з іншого контейнера за допомогою curl:
#!/bin/sh
curl http://model-runner.docker.internal/engines/llama.cpp/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ai/smollm2",
"messages": [
{
"role": "system",
"content": "Ви — корисний асистент."
},
{
"role": "user",
"content": "Напишіть, будь ласка, 500 слів про падіння Риму."
}
]
}
Із хосту через Unix-сокет
Приклади виклику ендпоінту через Docker-сокет із хост-системи:
#!/bin/sh
curl --unix-socket $HOME/.docker/run/docker.sock \
localhost/exp/vDD4.40/engines/llama.cpp/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ai/smollm2",
"messages": [
{
"role": "system",
"content": "Ви — корисний асистент."
},
{
"role": "user",
"content": "Напишіть, будь ласка, 500 слів про падіння Риму."
}
]
}
Із хосту через TCP
Якщо ви хочете взаємодіяти з API з хосту, але замість Docker-сокета використати TCP, можна увімкнути підтримку TCP через графічний інтерфейс Docker Desktop або через CLI:
docker desktop enable model-runner —tcp <порт>
Після цього звертайтесь до API через localhost і вибраний порт:
#!/bin/sh
curl http://localhost:12434/engines/llama.cpp/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ai/smollm2",
"messages": [
{
"role": "system",
"content": "Ви — корисний асистент."
},
{
"role": "user",
"content": "Напишіть, будь ласка, 500 слів про падіння Риму."
}
]
}
Приклад
Для ознайомлення з можливостями Docker Model Runner можна скористатися готовим репозиторієм:
git clone https://github.com/docker/hello-genai.git cd hello-genai ./run.sh
Після виконання цих команд відкрийте застосунок у браузері для взаємодії з моделлю.
Які обмеження та баги
- Якщо команда docker model не працює — потрібно створити символьне посилання вручну.
ln -s /Applications/Docker.app/Contents/Resources/cli-plugins/docker-model ~/.docker/cli-plugins/docker-model - Немає захисту від надто великих моделей — це може уповільнити або «покласти» систему.
- Якщо модель не завантажилася, інтерфейс чату все одно може запуститись, але працювати не буде.
Щоб увімкнути чи вимкнути цю функцію, перейдіть у Settings в розділ Features in development та активуйте або деактивуйте Enable Docker Model Runner і натисніть Apply & Restart.
Детальніше про нововведення можете глянути в офіційній документації.

3 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів