Initial commit
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# 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). Это оценка,
|
||||
а не точная гарантия — список легко расширить, отредактировав словарь в коде.
|
||||
Reference in New Issue
Block a user