fe5125d7b0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
56 lines
3.6 KiB
Markdown
56 lines
3.6 KiB
Markdown
# Ollama Manager
|
||
|
||
Графический менеджер (Python + Tkinter) для управления удалённым сервером Ollama
|
||
по адресу `192.168.1.118`.
|
||
|
||
## Установка
|
||
|
||
```bash
|
||
pip install -r requirements.txt
|
||
python ollama_manager.py
|
||
```
|
||
|
||
`tkinter` входит в стандартную поставку Python. На Linux при необходимости:
|
||
`sudo apt install python3-tk`.
|
||
|
||
`paramiko` нужен только для вкладки **Сервер (SSH)** и кнопки **«Определить по SSH»**.
|
||
Без него управление моделями по HTTP работает в полном объёме.
|
||
|
||
## Возможности
|
||
|
||
### Вкладка «Модели» (по HTTP, порт 11434)
|
||
- Список установленных моделей: размер, число параметров, квантизация, дата.
|
||
- **Установить (pull)** — загрузка модели с индикатором прогресса.
|
||
- **Удалить**, **Копировать**, **Детали** (`/api/show`).
|
||
- **Создать из Modelfile** (`/api/create`, на основе базовой модели + system-prompt).
|
||
- **Push** — отправка модели в реестр (имя вида `namespace/model:tag`).
|
||
|
||
### Вкладка «Запущенные»
|
||
- Список загруженных в память моделей (`/api/ps`): объём в RAM и VRAM.
|
||
- **Выгрузить из памяти** (`keep_alive=0`).
|
||
|
||
### Вкладка «Сервер (SSH)»
|
||
- SSH-подключение к машине с Ollama (пароль или ключ).
|
||
- **Запустить / Остановить / Перезапустить / Статус** сервиса `ollama`.
|
||
Используется `systemctl` (через `sudo -n`), с резервом на `ollama serve` / `pkill`.
|
||
|
||
> Управление процессом сервера невозможно через HTTP API Ollama — он не умеет
|
||
> сам себя запускать/останавливать. Поэтому эти операции выполняются по SSH.
|
||
> Для `systemctl` без пароля настройте `sudo NOPASSWD` для пользователя.
|
||
|
||
### Вкладка «Рекомендации» — «Найти модель»
|
||
- Поля **ОЗУ** и **VRAM** заполняются вручную или кнопкой **«Определить по SSH»**
|
||
(читает `/proc/meminfo` и `nvidia-smi`, для Apple Silicon — единую память).
|
||
- Чекбокс **«Показывать только модели, подходящие для железа»**:
|
||
- включён → в списке остаются только модели, которые поместятся в ОЗУ;
|
||
- выключен → показывается весь каталог.
|
||
- Цветовая маркировка: 🟢 поместится в VRAM (быстро на GPU), 🟠 пойдёт на CPU/частично,
|
||
⚪ памяти не хватит.
|
||
- **Установить выбранную** — сразу запускает `pull` выбранной модели.
|
||
|
||
## Примечание о размерах моделей
|
||
|
||
Каталог рекомендаций (`MODEL_CATALOG` в `ollama_manager.py`) содержит ориентировочные
|
||
размеры и требования к памяти для популярных моделей (квантизация Q4). Это оценка,
|
||
а не точная гарантия — список легко расширить, отредактировав словарь в коде.
|