Инструменты пользователя

Инструменты сайта


truenas:application:strata_qwen_server

Это старая версия документа!


Strata + Qwen3.8-Flash-Next на сервере и подключение клиентов по IP

Введение

Инструкция описывает, как развернуть движок Strata с моделью Qwen3.8-Flash-Next на отдельном Linux-сервере с видеокартой и подключаться к нему по сети с других компьютеров: из Goose Desktop, OpenCode, Open WebUI, Claude Code или любого OpenAI-совместимого клиента.

Локальная установка на Windows-ПК (проверенная пошагово, с замерами скорости и разбором ошибок) — на странице Qwen3.8-Flash-Next на Strata + Goose Desktop (Windows). Здесь используются те же команды Strata, но с доступом из сети.

Статус инструкции. Команды и ключи взяты из Strata 0.1.59 (install.sh, strata launch –help, strata launch –plan). Серверный сценарий целиком на реальном сервере ещё не прогонялся — места, требующие проверки, помечены (проверить).

Схема

 ┌──────────────────────────────┐          LAN            ┌──────────────────────────┐
 │ Linux-сервер + NVIDIA GPU    │  http://IP:8080/v1      │ Клиентский ПК            │
 │  strata launch --access lan  │ ◄────────────────────── │  Goose / OpenCode /      │
 │  API-ключ включён            │  Authorization: Bearer  │  Open WebUI / curl       │
 └──────────────────────────────┘                         └──────────────────────────┘

Где запускать: TrueNAS или отдельная машина

Strata нужна видеокарта (NVIDIA RTX 20/30/40/50 или AMD), много RAM и быстрый диск. Варианты:

  • Отдельный Linux-сервер / ПК (Ubuntu 22.04 / 24.04) — самый простой и рекомендуемый вариант.
  • Виртуальная машина на TrueNAS SCALE (Virtualization → VM с Ubuntu) с пробросом GPU (PCI passthrough) в ВМ. Внутри ВМ — всё как на обычном сервере. Нужна поддержка IOMMU (VT-d / AMD-Vi) и вторая видеокарта или встроенная графика для самого TrueNAS. (проверить)
  • Не рекомендуется ставить Strata прямо в хостовую систему TrueNAS SCALE: это appliance, системный раздел перезаписывается при обновлениях, а ставить туда пакеты не предусмотрено.

Модели (84+ GB) лучше хранить на быстром SSD/NVMe; на HDD-пуле загрузка модели будет очень долгой.

Требования к серверу

Ресурс Минимум Комментарий
GPU NVIDIA с 16 GB VRAM 24 GB и больше — быстрее; несколько карт поддерживаются (–gpu 0,1)
Драйвер актуальный драйвер NVIDIA, nvidia-smi работает для AMD — ROCm
RAM зависит от кванта, см. таблицу ниже для IQ3_S — 64 GB
Диск размер модели + ~3 GB SSD/NVMe
ОС Linux x86_64 ARM64 — только NVIDIA DGX Spark
Пакеты curl или wget, tar, sha256sum

Шаг 1: Подготовка сервера

Проверьте видеокарту и драйвер:

nvidia-smi
free -g
df -h ~

Если nvidia-smi не найден — установите драйвер (Ubuntu):

sudo ubuntu-drivers install
sudo reboot

Рекомендуется завести отдельного пользователя под сервис:

sudo adduser --disabled-password --gecos "" strata
sudo usermod -aG video,render strata
sudo -iu strata

Шаг 2: Установка Strata

От пользователя strata:

curl -fsSL https://github.com/Niko1221/Strata/releases/latest/download/install.sh -o install.sh
less install.sh          # прочитать, что делает скрипт
sh install.sh

Что делает установщик:

  1. скачивает Strata Terminal и сверяет SHA-256;
  2. распаковывает в ~/.local/share/strata/terminal/<версия> (без root, ничего вне домашней папки);
  3. проверяет подпись релиза;
  4. создаёт ссылку ~/.local/bin/strata.

Если ~/.local/bin нет в PATH:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
strata --version

Хранить модели на другом диске (например, на NVMe-датасете):

export STRATA_DATA_DIR=/mnt/fast/strata      # до установки
# или для уже установленной Strata — ключ запуска:
strata launch ... --data-dir /mnt/fast/strata-models

Шаг 3: Выбор типа квантования

Квант задаётся ключом –model, семейство — –family. Меньше бит → меньше памяти и быстрее, но ниже качество.

Официальные кванты Qwen3.8-Flash-Next (--family qwen, по умолчанию)

Цифры RAM — оценка установщика Strata для машины с 16 GB VRAM; при большей VRAM RAM нужно меньше.

–model Тип Скачивание RAM (примерно) Для чего
q2_0 2 бита 66 GB ~34 GB самый быстрый, качество ниже; сервер с 48 GB RAM
iq2_xs 2-битный i-quant 68 GB ~36 GB чуть лучше качество, скорость близка к Q2_0
iq3_xxs 3-битный i-quant 76 GB ~43 GB компромисс качество/скорость
iq3_s 3.5-битный i-quant 84 GB ~50 GB рекомендуется: лучшее качество среди официальных; 64 GB RAM

Кванты Unsloth (--family unsloth) — для мощных серверов

–model Скачивание Для чего
ud-iq4_xs 94 GB 4 бита, 96+ GB RAM или несколько GPU
ud-q4_k_xl 111 GB 4 бита K-quant
ud-q5_k_xl 158 GB 5 бит, почти без потерь
ud-q6_k_xl 169 GB 6 бит
q8_0 188 GB 8 бит, практически полное качество

Для ud-iq4_xs / ud-q4_k_xl можно ограничить объём экспертов в RAM: –set resident_budget_gib=N (проверить имя параметра; у установщика это –resident-budget-gib N).

Другие семейства

  • –family swift — Swift 1.5 (дообученная Qwen3.8-Flash-Next).
  • –family coder — вариант для кода.
  • –family qwen36 — Qwen3.6-35B-A3B: компактнее, умеет картинки и несколько запросов одновременно (–parallel N) — удобно, если к серверу подключается несколько человек.
  • –family deepseek41 — DeepSeek-V4.1-Flash: 1.75 / 2.00 / 2.25 bpw = 239 / 257 / 274 GB, только для больших серверов.

Как сравнить варианты, ничего не меняя

strata launch --model iq3_s    --access lan --port 8080 --no-tui --plan
strata launch --model q2_0     --access lan --port 8080 --no-tui --plan
strata launch --family unsloth --model ud-q4_k_xl --access lan --port 8080 --no-tui --plan

Пример вывода:

Plan for 'IQ3_S 128K':
  model     Qwen3.8-Flash-Next IQ3_S, 84 GB
  context   128K    pictures off    parallel fit to your card
  drafting  DFlash2 (its drafter is downloaded first)
  tuning    skip    access My local network, port 8080    API key on
Nothing was changed.

Шаг 4: Запуск с доступом из локальной сети

strata launch --model iq3_s --context 128k --vision off --tune quick \
  --access lan --port 8080 --no-tui --yes --save-preset "Server IQ3_S"

Ключи, отличающиеся от локальной установки:

  • –access lan — слушать сетевой интерфейс, доступ из локальной сети. API-ключ включается автоматически.
  • –port 8080 — на сервере порт обычно свободен; при конфликте выберите другой.
  • –tune quick — при первом запуске подобрать самые быстрые настройки под это железо (результат сохраняется).
  • –parallel N — сколько запросов обрабатывать одновременно (1–8). Внимание: с drafter DFlash2 Strata принудительно ставит 1 запрос. Если к серверу подключается несколько человек одновременно — добавьте –drafting mtp (MTP поддерживает параллельность) и –parallel 2..4.

Другие режимы доступа:

–access Кто может подключиться
local только сам сервер (127.0.0.1)
lan компьютеры локальной сети
tailscale устройства вашей сети Tailscale (доступ извне без проброса портов)
cloudflare быстрый туннель Cloudflare (публичный адрес; обязательно с ключом)

Своё значение ключа: –api-key КЛЮЧ или –api-key-env ИМЯ_ПЕРЕМЕННОЙ; новый ключ — –new-key. Без ключа — –no-api-key (не рекомендуется).

Узнать API-ключ

strata launch --show-key --preset "Server IQ3_S"

Ключ понадобится на каждом клиенте.

Управление

strata launch --preset "Server IQ3_S" --no-tui          # запуск
strata launch --stop --preset "Server IQ3_S"            # остановка
strata launch --status                                  # что запущено
strata monitor --url http://127.0.0.1:8080              # монитор
strata logs --url http://127.0.0.1:8080 --follow        # журнал запросов в реальном времени

Шаг 5: Автозапуск через systemd

strata launch –no-tui запускает сервер в фоне и возвращает управление, поэтому используется тип oneshot. (проверить на сервере)

Файл /etc/systemd/system/strata.service:

[Unit]
Description=Strata LLM server (Qwen3.8-Flash-Next)
After=network-online.target nvidia-persistenced.service
Wants=network-online.target
 
[Service]
Type=oneshot
RemainAfterExit=yes
User=strata
Environment=HOME=/home/strata
ExecStart=/home/strata/.local/bin/strata launch --preset "Server IQ3_S" --no-tui
ExecStop=/home/strata/.local/bin/strata launch --stop --preset "Server IQ3_S"
TimeoutStartSec=900
 
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now strata
systemctl status strata

Шаг 6: Firewall

Разрешите порт только из домашней сети (пример для ufw, сеть 192.168.1.0/24):

sudo ufw allow from 192.168.1.0/24 to any port 8080 proto tcp
sudo ufw status

Не пробрасывайте порт 8080 на роутере в интернет. Для доступа извне используйте –access tailscale или VPN.

Шаг 7: Проверка с другого компьютера

Ниже 192.168.1.50 — IP сервера, <КЛЮЧ> — ключ из –show-key.

Linux / macOS:

curl -s http://192.168.1.50:8080/v1/models -H "Authorization: Bearer <КЛЮЧ>"

Windows (PowerShell):

curl.exe -s http://192.168.1.50:8080/v1/models -H "Authorization: Bearer <КЛЮЧ>"

Должен вернуться JSON с «id»: «qwen3.8-flash-next-iq3_s» и «status»: {«value»: «loaded»}.

Тестовый запрос:

curl -s http://192.168.1.50:8080/v1/chat/completions \
  -H "Authorization: Bearer <КЛЮЧ>" -H "Content-Type: application/json" \
  -d '{"model":"qwen3.8-flash-next-iq3_s","messages":[{"role":"user","content":"Привет, ответь одним словом"}],"max_tokens":200}'

Если не отвечает:

  • Connection refused / таймаут — сервер не запущен, не тот порт или блокирует firewall (sudo ufw status, ss -ltnp | grep 8080 на сервере);
  • 401 / 403 — неверный или не переданный ключ.

Шаг 8: Подключение клиентов

Общие параметры для любого клиента:

Параметр Значение
Тип API OpenAI Compatible (Chat Completions)
Base URL http://192.168.1.50:8080/v1
Полный путь Chat Completions http://192.168.1.50:8080/v1/chat/completions
API Key ключ из strata launch –show-key
Модель qwen3.8-flash-next-iq3_s (точное имя — из /v1/models)
Контекст 131072
Anthropic-совместимый адрес http://192.168.1.50:8080 (без /v1)

Goose Desktop

Settings → Models → Add Custom Provider:

Поле Значение
Provider Type OpenAI Compatible
Display Name Strata Server
API URL http://192.168.1.50:8080/v1/chat/completions
API Key ключ сервера
Available Models qwen3.8-flash-next-iq3_s
Streaming включить

Или файлом %APPDATA%\Block\goose\config\custom_providers\custom_strata_server.json (Windows; на Linux/macOS — ~/.config/goose/custom_providers/):

{
  "name": "custom_strata_server",
  "engine": "openai",
  "display_name": "Strata Server",
  "description": "Strata on 192.168.1.50:8080",
  "api_key_env": "CUSTOM_STRATA_SERVER_API_KEY",
  "base_url": "http://192.168.1.50:8080/v1/chat/completions",
  "models": [
    { "name": "qwen3.8-flash-next-iq3_s", "context_limit": 131072 }
  ],
  "headers": null,
  "timeout_seconds": 600,
  "supports_streaming": true,
  "requires_auth": true
}

Ключ после этого ввести в Settings → Models у провайдера Strata Server или задать переменной окружения CUSTOM_STRATA_SERVER_API_KEY (проверить). Русский язык, .goosehints и MCP (Developer, Playwright) — как на странице локальной установки: MCP-расширения работают на клиенте, сервер только отвечает моделью.

OpenCode

Strata умеет сама сгенерировать конфиг:

strata connect opencode          # показать конфиг (на сервере)

На клиенте в ~/.config/opencode/opencode.json замените адрес и ключ:

{
  "$schema": "https://opencode.ai/config.json",
  "model": "strata/qwen3.8-flash-next-iq3_s",
  "provider": {
    "strata": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Strata (server)",
      "options": {
        "baseURL": "http://192.168.1.50:8080/v1",
        "apiKey": "<КЛЮЧ>"
      },
      "models": {
        "qwen3.8-flash-next-iq3_s": {
          "name": "Qwen3.8-Flash-Next",
          "tool_call": true,
          "reasoning": true,
          "limit": { "context": 131072, "output": 16384 }
        }
      }
    }
  }
}

strata connect без аргументов показывает все клиенты, для которых у Strata есть готовые настройки: opencode, codex, claude-code, omp, pi, hermes, openclaw.

Open WebUI (чат в браузере)

Admin Panel → Settings → Connections → OpenAI API → добавить:

Модель qwen3.8-flash-next-iq3_s появится в списке.

Claude Code

Strata отдаёт и Anthropic-совместимый API (без /v1):

export ANTHROPIC_BASE_URL=http://192.168.1.50:8080
export ANTHROPIC_AUTH_TOKEN=<КЛЮЧ>
claude

Готовые настройки: strata connect claude-code.

Python (openai SDK)

from openai import OpenAI
 
client = OpenAI(base_url="http://192.168.1.50:8080/v1", api_key="<КЛЮЧ>")
r = client.chat.completions.create(
    model="qwen3.8-flash-next-iq3_s",
    messages=[{"role": "user", "content": "Привет! Кратко: чем list отличается от tuple?"}],
)
print(r.choices[0].message.content)

Особенности и ограничения

  • Один запрос за раз с DFlash2. Пока один клиент получает ответ, остальные ждут в очереди. Для нескольких пользователей — –drafting mtp –parallel 2..4 (каждый слот съедает память под контекст) или семейство qwen36.
  • Первый запрос агента долгий. Агенты (Goose, OpenCode) отправляют системный промпт с описанием инструментов на ~12 тыс. токенов; на RTX 4080 + 64 GB RAM это ~30 с, дальше работает кэш.
  • Скорость по сети практически не теряется: трафик — это текст, узкое место — генерация на сервере. Ориентир (RTX 4080 16 GB, 64 GB RAM, IQ3_S): ~21 токен/с генерации.
  • Ответ содержит reasoning_content (рассуждения модели) — большинство клиентов его скрывают или показывают отдельно.
  • Лог движка на сервере: ~/.local/share/strata/launch/<пресет>.engine.log.

Шпаргалка

# сервер
strata launch --preset "Server IQ3_S" --no-tui
strata launch --stop --preset "Server IQ3_S"
strata launch --show-key --preset "Server IQ3_S"
strata logs --url http://127.0.0.1:8080 --follow
 
# клиент
curl -s http://192.168.1.50:8080/v1/models -H "Authorization: Bearer <КЛЮЧ>"
truenas/application/strata_qwen_server.1794504324.txt.gz · Последние изменения: 2026/11/12 17:25 — werwolf