Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия | |||
|
truenas:application:strata_qwen_goose [2026/11/12 18:18] werwolf |
truenas:application:strata_qwen_goose [2026/11/12 21:12] (текущий) werwolf Хранение моделей Strata: где лежат, выбор диска, перенос (--data-dir --move-data, models move), удаление |
||
|---|---|---|---|
| Строка 11: | Строка 11: | ||
| ===== Конфигурация, на которой проверялось ===== | ===== Конфигурация, на которой проверялось ===== | ||
| - | ^Компонент^Значение| | + | ^ Компонент ^ Значение ^ |
| - | |ОС|Windows 11 Pro (26200), PowerShell 5.1| | + | | ОС | Windows 11 Pro (26200), PowerShell 5.1 | |
| - | |GPU|NVIDIA GeForce RTX 4080, 16 GB VRAM, драйвер 610.88| | + | | GPU | NVIDIA GeForce RTX 4080, 16 GB VRAM, драйвер 610.88 | |
| - | |CPU|Intel Core i9-9900KF (AVX2)| | + | | CPU | Intel Core i9-9900KF (AVX2) | |
| - | |RAM|64 GB| | + | | RAM | 64 GB | |
| - | |PCIe|3.0 x16| | + | | PCIe | 3.0 x16 | |
| - | |Strata Terminal / движок|0.1.59 (''windows-x86_64-cuda-cuda13'')| | + | | Strata Terminal / движок | 0.1.59 (''windows-x86_64-cuda-cuda13'') | |
| - | |Модель|Qwen3.8-Flash-Next **IQ3_S**, 84 GB, контекст 128K| | + | | Модель | Qwen3.8-Flash-Next **IQ3_S**, 84 GB, контекст 128K | |
| - | |Goose Desktop|1.51.0| | + | | Goose Desktop | 1.51.0 | |
| - | |Node.js|24.x (для Playwright MCP)| | + | | Node.js | 24.x (для Playwright MCP) | |
| ===== Требования ===== | ===== Требования ===== | ||
| Строка 28: | Строка 28: | ||
| * Свободное место на диске: ~85 GB под модель + ~1 GB под движок и drafter. | * Свободное место на диске: ~85 GB под модель + ~1 GB под движок и drafter. | ||
| * Установленный Goose Desktop. | * Установленный Goose Desktop. | ||
| - | * Node.js (''node'', ''npx'' в PATH) — только для Playwright MCP. | + | * Node.js (''node'', ''npx'' в PATH) — только для Playwright MCP. |
| - | * Свободный TCP-порт. **Порт 8080 (по умолчанию у Strata) часто занят** (у нас его держал Docker-контейнер Jira в WSL), поэтому в инструкции используется **8081**. | + | * Свободный TCP-порт. **Порт 8080 (по умолчанию у Strata) часто занят** (у нас его держал Docker-контейнер Jira в WSL), поэтому в инструкции используется **8081**. |
| ===== Шаг 1: Установка Strata ===== | ===== Шаг 1: Установка Strata ===== | ||
| Строка 48: | Строка 48: | ||
| Что делает установщик: | Что делает установщик: | ||
| - | |||
| - скачивает архив Strata Terminal (~70 MB) и сверяет его SHA-256; | - скачивает архив Strata Terminal (~70 MB) и сверяет его SHA-256; | ||
| - | - распаковывает в ''%LOCALAPPDATA%Strata\terminal<версия>'' (права администратора не нужны); | + | - распаковывает в ''%LOCALAPPDATA%\Strata\terminal\<версия>'' (права администратора не нужны); |
| - проверяет подпись релиза; | - проверяет подпись релиза; | ||
| - | - добавляет ''%LOCALAPPDATA%Strata\terminal\current\bin'' в пользовательский PATH. | + | - добавляет ''%LOCALAPPDATA%\Strata\terminal\current\bin'' в пользовательский PATH. |
| - | Ожидаемый вывод:<code> | + | Ожидаемый вывод: |
| + | |||
| + | <code> | ||
| Strata Terminal installer | Strata Terminal installer | ||
| This computer: Windows AMD64 (windows-x86_64), graphics: NVIDIA GeForce RTX 4080 | This computer: Windows AMD64 (windows-x86_64), graphics: NVIDIA GeForce RTX 4080 | ||
| Строка 63: | Строка 64: | ||
| </code> | </code> | ||
| - | **После установки откройте новое окно терминала**, иначе команда ''strata'' не будет найдена. Если не находится — используйте полный путь: | + | **После установки откройте новое окно терминала**, иначе команда ''strata'' не будет найдена. Если не находится — используйте полный путь: |
| <code powershell> | <code powershell> | ||
| Строка 71: | Строка 72: | ||
| ===== Шаг 2: Выбор типа квантования ===== | ===== Шаг 2: Выбор типа квантования ===== | ||
| - | Strata сама скачивает модель нужного размера из своего каталога. Размер задаётся ключом ''–model'', семейство — ''–family''. Чем меньше бит на вес, тем меньше нужно памяти и тем быстрее модель, но ниже качество ответов. | + | Strata сама скачивает модель нужного размера из своего каталога. Размер задаётся ключом ''--model'', семейство — ''--family''. Чем меньше бит на вес, тем меньше нужно памяти и тем быстрее модель, но ниже качество ответов. |
| ==== Что умеет Strata: семейства и кванты ==== | ==== Что умеет Strata: семейства и кванты ==== | ||
| - | * ''–family qwen'' (по умолчанию) — официальные кванты Qwen3.8-Flash-Next: ''q2_0'', ''iq2_xs'', ''iq3_xxs'', ''iq3_s'', ''iq1_m''. | + | * ''--family qwen'' (по умолчанию) — официальные кванты Qwen3.8-Flash-Next: ''q2_0'', ''iq2_xs'', ''iq3_xxs'', ''iq3_s'', ''iq1_m''. |
| - | * ''–family unsloth'' — кванты Unsloth той же модели: от ''ud-iq1_m'' до ''q8_0''. | + | * ''--family unsloth'' — кванты Unsloth той же модели: от ''ud-iq1_m'' до ''q8_0''. |
| - | * ''–family swift'' — дообученная Swift 1.5 (на базе Qwen3.8-Flash-Next), те же размеры. | + | * ''--family swift'' — дообученная Swift 1.5 (на базе Qwen3.8-Flash-Next), те же размеры. |
| - | * ''–family coder'' — вариант для кода. | + | * ''--family coder'' — вариант для кода. |
| - | * ''–family gyro'' (''Gyro-S'', ''Gyro-M'') и ''–family nvfp4'' (''NVFP4'', ''NVFP4-NVIDIA'', ''NVFP4-QAD'') — альтернативные сжатые версии. | + | * ''--family gyro'' (''Gyro-S'', ''Gyro-M'') и ''--family nvfp4'' (''NVFP4'', ''NVFP4-NVIDIA'', ''NVFP4-QAD'') — альтернативные сжатые версии. |
| - | * ''–family qwen36'' — Qwen3.6-35B-A3B: модель поменьше, умеет картинки и несколько запросов одновременно. | + | * ''--family qwen36'' — Qwen3.6-35B-A3B: модель поменьше, умеет картинки и несколько запросов одновременно. |
| - | * ''–family deepseek41'' — DeepSeek-V4.1-Flash: 1.75 / 2.00 / 2.25 bpw = 239 / 257 / 274 GB, ''UD-Q8_K_XL'' = 508 GB. | + | * ''--family deepseek41'' — DeepSeek-V4.1-Flash: 1.75 / 2.00 / 2.25 bpw = 239 / 257 / 274 GB, ''UD-Q8_K_XL'' = 508 GB. |
| Чем меньше бит на вес — тем меньше памяти и быстрее генерация, но ниже качество. Чем больше квант — тем больше байт нужно прочитать из RAM на каждый токен, поэтому на одном и том же ПК крупный квант генерирует **медленнее**. | Чем меньше бит на вес — тем меньше памяти и быстрее генерация, но ниже качество. Чем больше квант — тем больше байт нужно прочитать из RAM на каждый токен, поэтому на одном и том же ПК крупный квант генерирует **медленнее**. | ||
| ==== Какие модели можно развернуть на моём ПК сейчас ==== | ==== Какие модели можно развернуть на моём ПК сейчас ==== | ||
| - | Конфигурация: RTX 4080 **16 GB VRAM** + **64 GB RAM** DDR4-3600 (2×32 GB) = **80 GB** RAM+VRAM, i9-9900KF, PCIe 3.0, плата ASUS TUF Z390-PLUS GAMING (WI-FI). | + | Конфигурация: RTX 4080 **16 GB VRAM** + **64 GB RAM** DDR4-3600 (2×32 GB) = **80 GB** RAM+VRAM, i9-9900KF, PCIe 3.0, плата ASUS TUF Z390-PLUS GAMING (WI-FI). |
| Оценку даёт сама Strata командой, которая только проверяет ПК и ничего не устанавливает: | Оценку даёт сама Strata командой, которая только проверяет ПК и ничего не устанавливает: | ||
| Строка 94: | Строка 96: | ||
| </code> | </code> | ||
| - | Столбец «Нужно RAM+VRAM» — оценка Strata; «Скачать» — по ''strata launch –plan''. **fits** — Strata считает, что помещается; **медленнее** — Strata предупреждает «may run slower» (часть модели будет читаться с диска). | + | Столбец «Нужно RAM+VRAM» — оценка Strata; «Скачать» — по ''strata launch --plan''. **fits** — Strata считает, что помещается; **медленнее** — Strata предупреждает «may run slower» (часть модели будет читаться с диска). |
| - | ^Модель^Скачать^Нужно RAM+VRAM^Сейчас (64 GB RAM, 80 GB всего)^После +64 GB RAM (144 GB)^Команда запуска^Комментарий| | + | ^ Модель ^ Скачать ^ Нужно RAM+VRAM ^ Сейчас (64 GB RAM, 80 GB всего) ^ После +64 GB RAM (144 GB) ^ Команда запуска ^ Комментарий ^ |
| - | |qwen / ''iq1_m'' |—|~30 GB|fits|fits|''strata launch –family qwen –model iq1_m –vision off –port 8081 –no-tui –yes –save-preset "iq1_m 8081"'' |самый маленький, качество заметно ниже| | + | | qwen / ''iq1_m'' | — | ~30 GB | fits | fits | ''strata launch --family qwen --model iq1_m --vision off --port 8081 --no-tui --yes --save-preset "iq1_m 8081"'' | самый маленький, качество заметно ниже | |
| - | |gyro / ''Gyro-S'' |—|~28 GB|fits|fits|''strata launch –family gyro –model Gyro-S –vision off –port 8081 –no-tui –yes –save-preset "Gyro-S 8081"'' | | | + | | gyro / ''Gyro-S'' | — | ~28 GB | fits | fits | ''strata launch --family gyro --model Gyro-S --vision off --port 8081 --no-tui --yes --save-preset "Gyro-S 8081"'' | | |
| - | |gyro / ''Gyro-M'' |—|~35 GB|fits|fits|''strata launch –family gyro –model Gyro-M –vision off –port 8081 –no-tui –yes –save-preset "Gyro-M 8081"'' | | | + | | gyro / ''Gyro-M'' | — | ~35 GB | fits | fits | ''strata launch --family gyro --model Gyro-M --vision off --port 8081 --no-tui --yes --save-preset "Gyro-M 8081"'' | | |
| - | |qwen / ''q2_0'' |66 GB|~38 GB|fits|fits|''strata launch –family qwen –model q2_0 –vision off –port 8081 –no-tui –yes –save-preset "q2_0 8081"'' |самый быстрый из официальных| | + | | qwen / ''q2_0'' | 66 GB | ~38 GB | fits | fits | ''strata launch --family qwen --model q2_0 --vision off --port 8081 --no-tui --yes --save-preset "q2_0 8081"'' | самый быстрый из официальных | |
| - | |unsloth / ''ud-iq1_m'' |68 GB|~39 GB|fits|fits|''strata launch –family unsloth –model ud-iq1_m –vision off –port 8081 –no-tui –yes –save-preset "ud-iq1_m 8081"'' | | | + | | unsloth / ''ud-iq1_m'' | 68 GB | ~39 GB | fits | fits | ''strata launch --family unsloth --model ud-iq1_m --vision off --port 8081 --no-tui --yes --save-preset "ud-iq1_m 8081"'' | | |
| - | |unsloth / ''ud-q2_0'' |—|~42 GB|fits|fits|''strata launch –family unsloth –model ud-q2_0 –vision off –port 8081 –no-tui –yes –save-preset "ud-q2_0 8081"'' | | | + | | unsloth / ''ud-q2_0'' | — | ~42 GB | fits | fits | ''strata launch --family unsloth --model ud-q2_0 --vision off --port 8081 --no-tui --yes --save-preset "ud-q2_0 8081"'' | | |
| - | |unsloth / ''ud-iq2_xs'' |—|~47 GB|fits|fits|''strata launch –family unsloth –model ud-iq2_xs –vision off –port 8081 –no-tui –yes –save-preset "ud-iq2_xs 8081"'' | | | + | | unsloth / ''ud-iq2_xs'' | — | ~47 GB | fits | fits | ''strata launch --family unsloth --model ud-iq2_xs --vision off --port 8081 --no-tui --yes --save-preset "ud-iq2_xs 8081"'' | | |
| - | |unsloth / ''ud-q2_k_xl'' |80 GB|~51 GB|fits|fits|''strata launch –family unsloth –model ud-q2_k_xl –vision off –port 8081 –no-tui –yes –save-preset "ud-q2_k_xl 8081"'' | | | + | | unsloth / ''ud-q2_k_xl'' | 80 GB | ~51 GB | fits | fits | ''strata launch --family unsloth --model ud-q2_k_xl --vision off --port 8081 --no-tui --yes --save-preset "ud-q2_k_xl 8081"'' | | |
| - | |unsloth / ''ud-iq3_xxs'' |84 GB|~55 GB|fits|fits|''strata launch –family unsloth –model ud-iq3_xxs –vision off –port 8081 –no-tui –yes –save-preset "ud-iq3_xxs 8081"'' | | | + | | unsloth / ''ud-iq3_xxs'' | 84 GB | ~55 GB | fits | fits | ''strata launch --family unsloth --model ud-iq3_xxs --vision off --port 8081 --no-tui --yes --save-preset "ud-iq3_xxs 8081"'' | | |
| - | |unsloth / ''ud-q3_k_xl'' |90 GB|~61 GB|fits|fits|''strata launch –family unsloth –model ud-q3_k_xl –vision off –port 8081 –no-tui –yes –save-preset "ud-q3_k_xl 8081"'' | | | + | | unsloth / ''ud-q3_k_xl'' | 90 GB | ~61 GB | fits | fits | ''strata launch --family unsloth --model ud-q3_k_xl --vision off --port 8081 --no-tui --yes --save-preset "ud-q3_k_xl 8081"'' | | |
| - | |unsloth / ''ud-iq4_xs'' |94 GB|~65 GB|fits|fits|''strata launch –family unsloth –model ud-iq4_xs –vision off –port 8081 –no-tui –yes –save-preset "ud-iq4_xs 8081"'' |4 бита; хороший выбор по качеству на текущем ПК| | + | | unsloth / ''ud-iq4_xs'' | 94 GB | ~65 GB | fits | fits | ''strata launch --family unsloth --model ud-iq4_xs --vision off --port 8081 --no-tui --yes --save-preset "ud-iq4_xs 8081"'' | 4 бита; хороший выбор по качеству на текущем ПК | |
| - | |qwen / ''iq2_xs'' |68 GB|~68 GB|fits|fits|''strata launch –family qwen –model iq2_xs –vision off –port 8081 –no-tui –yes –save-preset "iq2_xs 8081"'' | | | + | | qwen / ''iq2_xs'' | 68 GB | ~68 GB | fits | fits | ''strata launch --family qwen --model iq2_xs --vision off --port 8081 --no-tui --yes --save-preset "iq2_xs 8081"'' | | |
| - | |qwen / ''iq3_xxs'' |76 GB|~76 GB|fits|fits|''strata launch –family qwen –model iq3_xxs –vision off –port 8081 –no-tui –yes –save-preset "iq3_xxs 8081"'' | | | + | | qwen / ''iq3_xxs'' | 76 GB | ~76 GB | fits | fits | ''strata launch --family qwen --model iq3_xxs --vision off --port 8081 --no-tui --yes --save-preset "iq3_xxs 8081"'' | | |
| - | |nvfp4 / ''NVFP4'' |—|~77 GB|fits (впритык)|fits|''strata launch –family nvfp4 –model NVFP4 –vision off –port 8081 –no-tui –yes –save-preset "NVFP4 8081"'' | | | + | | nvfp4 / ''NVFP4'' | — | ~77 GB | fits (впритык) | fits | ''strata launch --family nvfp4 --model NVFP4 --vision off --port 8081 --no-tui --yes --save-preset "NVFP4 8081"'' | | |
| - | |unsloth / ''ud-q4_k_xl'' |111 GB|~82 GB|медленнее|fits|''strata launch –family unsloth –model ud-q4_k_xl –vision off –port 8081 –no-tui –yes –save-preset "ud-q4_k_xl 8081"'' | | | + | | unsloth / ''ud-q4_k_xl'' | 111 GB | ~82 GB | медленнее | fits | ''strata launch --family unsloth --model ud-q4_k_xl --vision off --port 8081 --no-tui --yes --save-preset "ud-q4_k_xl 8081"'' | | |
| - | |qwen / ''iq3_s'' |84 GB|~84 GB|медленнее|fits|''strata launch –family qwen –model iq3_s –vision off –port 8081 –no-tui –yes –save-preset "iq3_s 8081"'' |**установлен сейчас**: на практике ~21.5 ток/с| | + | | qwen / ''iq3_s'' | 84 GB | ~84 GB | медленнее | fits | ''strata launch --family qwen --model iq3_s --vision off --port 8081 --no-tui --yes --save-preset "iq3_s 8081"'' | **установлен сейчас**: на практике ~21.5 ток/с | |
| - | |unsloth / ''ud-q5_k_xl'' |158 GB|~104 GB|нет|fits|''strata launch –family unsloth –model ud-q5_k_xl –vision off –port 8081 –no-tui –yes –save-preset "ud-q5_k_xl 8081"'' |5 бит, почти без потерь| | + | | unsloth / ''ud-q5_k_xl'' | 158 GB | ~104 GB | нет | fits | ''strata launch --family unsloth --model ud-q5_k_xl --vision off --port 8081 --no-tui --yes --save-preset "ud-q5_k_xl 8081"'' | 5 бит, почти без потерь | |
| - | |unsloth / ''ud-q6_k_xl'' |169 GB|~115 GB|нет|fits|''strata launch –family unsloth –model ud-q6_k_xl –vision off –port 8081 –no-tui –yes –save-preset "ud-q6_k_xl 8081"'' | | | + | | unsloth / ''ud-q6_k_xl'' | 169 GB | ~115 GB | нет | fits | ''strata launch --family unsloth --model ud-q6_k_xl --vision off --port 8081 --no-tui --yes --save-preset "ud-q6_k_xl 8081"'' | | |
| - | |unsloth / ''q8_0'' |188 GB|~134 GB|нет|fits (впритык)|''strata launch –family unsloth –model q8_0 –vision off –port 8081 –no-tui –yes –save-preset "q8_0 8081"'' |практически полное качество, но генерация заметно медленнее ''iq3_s'' | | + | | unsloth / ''q8_0'' | 188 GB | ~134 GB | нет | fits (впритык) | ''strata launch --family unsloth --model q8_0 --vision off --port 8081 --no-tui --yes --save-preset "q8_0 8081"'' | практически полное качество, но генерация заметно медленнее ''iq3_s'' | |
| - | |deepseek41 / ''IST-DAS-1.75bpw'' |239 GB|больше 144 GB|нет|**нет** |''strata launch –family deepseek41 –model IST-DAS-1.75bpw –vision off –port 8081 –no-tui –yes –save-preset "IST-DAS-1.75bpw 8081"'' |модель больше, чем RAM+VRAM; нужно 256+ GB RAM| | + | | deepseek41 / ''IST-DAS-1.75bpw'' | 239 GB | больше 144 GB | нет | **нет** | ''strata launch --family deepseek41 --model IST-DAS-1.75bpw --vision off --port 8081 --no-tui --yes --save-preset "IST-DAS-1.75bpw 8081"'' | модель больше, чем RAM+VRAM; нужно 256+ GB RAM | |
| - | |deepseek41 / ''IST-DAS-2.25bpw'' |274 GB|больше 144 GB|нет|**нет** |''strata launch –family deepseek41 –model IST-DAS-2.25bpw –vision off –port 8081 –no-tui –yes –save-preset "IST-DAS-2.25bpw 8081"'' |то же| | + | | deepseek41 / ''IST-DAS-2.25bpw'' | 274 GB | больше 144 GB | нет | **нет** | ''strata launch --family deepseek41 --model IST-DAS-2.25bpw --vision off --port 8081 --no-tui --yes --save-preset "IST-DAS-2.25bpw 8081"'' | то же | |
| - | «—» в столбце «Скачать» — размер не замерялся; его покажет ''strata launch –family … –model … –plan''. | + | «—» в столбце «Скачать» — размер не замерялся; его покажет ''strata launch --family ... --model ... --plan''. |
| - | **Итог для текущего ПК:** всё, что помечено **fits**, плюс уже работающий ''iq3_s''. Если нужна скорость — ''q2_0'' или ''ud-q2_k_xl''; если качество — ''iq3_s'' (текущий) или ''ud-iq4_xs''. | + | **Итог для текущего ПК:** всё, что помечено **fits**, плюс уже работающий ''iq3_s''. Если нужна скорость — ''q2_0'' или ''ud-q2_k_xl''; если качество — ''iq3_s'' (текущий) или ''ud-iq4_xs''. |
| **Если добавить 64 GB RAM (станет 128 GB + 16 GB VRAM = 144 GB):** | **Если добавить 64 GB RAM (станет 128 GB + 16 GB VRAM = 144 GB):** | ||
| + | * **unsloth / ''q8_0'' — да**, по оценке Strata (~134 GB) помещается, но впритык и генерирует заметно медленнее ''iq3_s'': на каждый токен из RAM читается больше данных. Разумный выбор после апгрейда по балансу качество/скорость — ''ud-q4_k_xl'' или ''ud-q5_k_xl''. | ||
| + | * **deepseek41 / IST-DAS-1.75…2.25bpw — нет.** Модель весит 239–274 GB, это больше, чем RAM+VRAM; большая часть читалась бы с диска — слишком медленно для работы. Нужно 256+ GB RAM (новая платформа, см. ниже). | ||
| - | * **unsloth / ''q8_0'' — да**, по оценке Strata (~134 GB) помещается, но впритык и генерирует заметно медленнее ''iq3_s'': на каждый токен из RAM читается больше данных. Разумный выбор после апгрейда по балансу качество/скорость — ''ud-q4_k_xl'' или ''ud-q5_k_xl''. | ||
| - | * **deepseek41 / IST-DAS-1.75…2.25bpw — нет.** Модель весит 239–274 GB, это больше, чем RAM+VRAM; большая часть читалась бы с диска — слишком медленно для работы. Нужно 256+ GB RAM (новая платформа, см. ниже). | ||
| **Как пользоваться командами из таблицы:** | **Как пользоваться командами из таблицы:** | ||
| - | + | - Сначала посмотреть план без изменений — добавить к команде ''--plan''. | |
| - | - Сначала посмотреть план без изменений — добавить к команде ''–plan''. | + | - Остановить текущую модель (''strata launch --stop --preset "Goose IQ3_S official 8081"'' или «Остановить» в [[:truenas:application:strata_tray|Strata Tray]]) — либо добавить к команде ''--restart''. |
| - | - Остановить текущую модель (''strata launch –stop –preset "Goose IQ3_S official 8081"'' или «Остановить» в [[:truenas:application:strata_tray|Strata Tray]]) — либо добавить к команде ''–restart''. | + | - Выполнить команду: первая установка скачивает модель, затем сохраняется пресет ''"<модель> 8081"'', дальше запуск — ''strata launch --preset "<модель> 8081" --no-tui''. |
| - | - Выполнить команду: первая установка скачивает модель, затем сохраняется пресет ''"<модель> 8081"'', дальше запуск — ''strata launch –preset "<модель> 8081" –no-tui''. | + | - В Goose поменять имя модели у провайдера на то, что вернёт ''/v1/models''; в Strata Tray — ''Preset'' в ''settings.json''. |
| - | - В Goose поменять имя модели у провайдера на то, что вернёт ''/v1/models''; в Strata Tray — ''Preset'' в ''settings.json''. | + | |
| Сменить модель — новый пресет, старый остаётся: | Сменить модель — новый пресет, старый остаётся: | ||
| Строка 141: | Строка 142: | ||
| </code> | </code> | ||
| - | Если меняете пресет, поменяйте и имя модели в провайдере Goose (точное имя — из ''/v1/models'') и пресет в ''settings.json'' трей-программы (см. [[:truenas:application:strata_tray|Strata Tray]]). | + | Если меняете пресет, поменяйте и имя модели в провайдере Goose (точное имя — из ''/v1/models'') и пресет в ''settings.json'' трей-программы (см. [[:truenas:application:strata_tray|Strata Tray]]). |
| ==== Что можно будет развернуть после апгрейда ПК ==== | ==== Что можно будет развернуть после апгрейда ПК ==== | ||
| Строка 147: | Строка 148: | ||
| Граница «fits» у Strata — примерно (RAM + VRAM) минус 3 GB. Ниже — **оценка по той же формуле**, на реальном железе не проверялась. | Граница «fits» у Strata — примерно (RAM + VRAM) минус 3 GB. Ниже — **оценка по той же формуле**, на реальном железе не проверялась. | ||
| - | ^Апгрейд^RAM+VRAM^Что добавится (fits)^Замечания| | + | ^ Апгрейд ^ RAM+VRAM ^ Что добавится (fits) ^ Замечания ^ |
| - | |**RAM 64 → 128 GB** (докупить ещё 2×32 GB, тот же комплект Kingston FURY ''KF3600C18D4/32GX'')|144 GB|''iq3_s'' без предупреждения, ''ud-q4_k_xl'', ''ud-q5_k_xl'', ''ud-q6_k_xl'', ''q8_0'' — вся линейка Qwen3.8-Flash-Next|Самый дешёвый и полезный апгрейд. На плате 4 слота, свободно 2. Windows/SMBIOS сейчас показывает максимум 64 GB, но i9-9900KF поддерживает 128 GB, а модули по 32 GB плата уже принимает — **(проверить)** поддержку 128 GB в списке BIOS/QVL на сайте ASUS и обновить BIOS. С 4 модулями XMP 3600 может работать нестабильно — тогда 3200 MHz.| | + | | **RAM 64 → 128 GB** (докупить ещё 2×32 GB, тот же комплект Kingston FURY ''KF3600C18D4/32GX'') | 144 GB | ''iq3_s'' без предупреждения, ''ud-q4_k_xl'', ''ud-q5_k_xl'', ''ud-q6_k_xl'', ''q8_0'' — вся линейка Qwen3.8-Flash-Next | Самый дешёвый и полезный апгрейд. На плате 4 слота, свободно 2. Windows/SMBIOS сейчас показывает максимум 64 GB, но i9-9900KF поддерживает 128 GB, а модули по 32 GB плата уже принимает — **(проверить)** поддержку 128 GB в списке BIOS/QVL на сайте ASUS и обновить BIOS. С 4 модулями XMP 3600 может работать нестабильно — тогда 3200 MHz. | |
| - | |**GPU 16 → 24 GB** (RTX 4090 / 3090)|88 GB|''ud-q4_k_xl'', ''iq3_s'' без предупреждения|Больше слоёв в VRAM — быстрее чтение промпта и генерация. Плата даёт только PCIe 3.0 — часть прироста теряется.| | + | | **GPU 16 → 24 GB** (RTX 4090 / 3090) | 88 GB | ''ud-q4_k_xl'', ''iq3_s'' без предупреждения | Больше слоёв в VRAM — быстрее чтение промпта и генерация. Плата даёт только PCIe 3.0 — часть прироста теряется. | |
| - | |**GPU 16 → 32 GB** (RTX 5090)|96 GB|то же + запас под длинный контекст|Те же ограничения PCIe 3.0.| | + | | **GPU 16 → 32 GB** (RTX 5090) | 96 GB | то же + запас под длинный контекст | Те же ограничения PCIe 3.0. | |
| - | |**RAM 128 GB + GPU 24–32 GB** |152–160 GB|вся линейка до ''q8_0'' с запасом| | | + | | **RAM 128 GB + GPU 24–32 GB** | 152–160 GB | вся линейка до ''q8_0'' с запасом | | |
| - | |**Новая платформа** (AM5 / LGA1851, DDR5, 4×64 = 256 GB, PCIe 4.0/5.0)|256+ GB|DeepSeek-V4.1-Flash 1.75–2.25 bpw; Qwen ''q8_0'' быстро|DDR5 даёт примерно вдвое большую пропускную способность памяти, чем DDR4 — генерация MoE-моделей заметно быстрее.| | + | | **Новая платформа** (AM5 / LGA1851, DDR5, 4×64 = 256 GB, PCIe 4.0/5.0) | 256+ GB | DeepSeek-V4.1-Flash 1.75–2.25 bpw; Qwen ''q8_0'' быстро | DDR5 даёт примерно вдвое большую пропускную способность памяти, чем DDR4 — генерация MoE-моделей заметно быстрее. | |
| - | **Что реально ускорит работу:** генерация упирается в пропускную способность RAM (DDR4 двухканал) и PCIe 3.0. Апгрейд RAM до 128 GB открывает более качественные кванты, но **не делает модель быстрее**; ускоряют — больше VRAM и/или новая платформа с DDR5. | + | **Что реально ускорит работу:** генерация упирается в пропускную способность RAM (DDR4 двухканал) и PCIe 3.0. Апгрейд RAM до 128 GB открывает более качественные кванты, но **не делает модель быстрее**; ускоряют — больше VRAM и/или новая платформа с DDR5. |
| ==== Как посмотреть план без изменений ==== | ==== Как посмотреть план без изменений ==== | ||
| - | Перед запуском полезно выполнить ''–plan'' — он покажет, что будет скачано, и ничего не изменит: | + | Перед запуском полезно выполнить ''--plan'' — он покажет, что будет скачано, и ничего не изменит: |
| <code powershell> | <code powershell> | ||
| strata launch --model iq3_s --context 128k --vision off --access local --port 8081 --no-tui --plan | strata launch --model iq3_s --context 128k --vision off --access local --port 8081 --no-tui --plan | ||
| - | </code><code> | + | </code> |
| + | |||
| + | <code> | ||
| Plan for 'IQ3_S 128K': | Plan for 'IQ3_S 128K': | ||
| model Qwen3.8-Flash-Next IQ3_S, 84 GB | model Qwen3.8-Flash-Next IQ3_S, 84 GB | ||
| Строка 180: | Строка 183: | ||
| </code> | </code> | ||
| - | **Важно про свои GGUF-файлы.** Strata умеет брать уже скачанные файлы (''–model-path ПАПКА''), но **не любые**. Сторонняя сборка ''RVN-Qwen3.8-Flash-Next-IQ3_S'' не запустилась (см. раздел «Проблемы и решения»). Надёжнее давать Strata скачать модель самой. | + | **Важно про свои GGUF-файлы.** Strata умеет брать уже скачанные файлы (''--model-path ПАПКА''), но **не любые**. Сторонняя сборка ''RVN-Qwen3.8-Flash-Next-IQ3_S'' не запустилась (см. раздел «Проблемы и решения»). Надёжнее давать Strata скачать модель самой. |
| ===== Шаг 3: Первый запуск модели ===== | ===== Шаг 3: Первый запуск модели ===== | ||
| Строка 189: | Строка 192: | ||
| Ключи: | Ключи: | ||
| + | * ''--model iq3_s'' — размер модели (см. таблицы выше). | ||
| + | * ''--context 128k'' — длина контекста (32k / 64k / 128k / 256k). | ||
| + | * ''--vision off'' — без распознавания картинок (Goose они не нужны, экономит память и 0.9 GB скачивания). | ||
| + | * ''--access local'' — доступ только с этого компьютера (без API-ключа). | ||
| + | * ''--port 8081'' — порт API. | ||
| + | * ''--no-tui'' — без интерактивных экранов: запустить, вывести адрес и вернуть управление. | ||
| + | * ''--yes'' — не задавать вопросов (согласие на скачивание). | ||
| + | * ''--save-preset'' — сохранить все настройки под именем, чтобы потом запускать одной командой. | ||
| - | * ''–model iq3_s'' — размер модели (см. таблицы выше). | ||
| - | * ''–context 128k'' — длина контекста (32k / 64k / 128k / 256k). | ||
| - | * ''–vision off'' — без распознавания картинок (Goose они не нужны, экономит память и 0.9 GB скачивания). | ||
| - | * ''–access local'' — доступ только с этого компьютера (без API-ключа). | ||
| - | * ''–port 8081'' — порт API. | ||
| - | * ''–no-tui'' — без интерактивных экранов: запустить, вывести адрес и вернуть управление. | ||
| - | * ''–yes'' — не задавать вопросов (согласие на скачивание). | ||
| - | * ''–save-preset'' — сохранить все настройки под именем, чтобы потом запускать одной командой. | ||
| Первый запуск: скачивается движок под вашу видеокарту (~631 MB), модель (~84 GB), drafter DFlash2 (1.2 GB), затем один раз модель подготавливается для движка. Это долго (зависит от скорости интернета). В конце: | Первый запуск: скачивается движок под вашу видеокарту (~631 MB), модель (~84 GB), drafter DFlash2 (1.2 GB), затем один раз модель подготавливается для движка. Это долго (зависит от скорости интернета). В конце: | ||
| Строка 212: | Строка 215: | ||
| ===== Шаг 4: Ежедневный запуск и остановка ===== | ===== Шаг 4: Ежедневный запуск и остановка ===== | ||
| - | **Удобнее — через значок в трее:** программа [[:truenas:application:strata_tray|Strata Tray]] показывает статус Strata и запускает/останавливает её по правому клику, стартует вместе с Windows. Ниже — то же самое командами. | + | **Удобнее — через значок в трее:** программа [[:truenas:application:strata_tray|Strata Tray]] показывает статус Strata и запускает/останавливает её по правому клику, стартует вместе с Windows. Ниже — то же самое командами. |
| Запуск (загрузка модели ~1 минута): | Запуск (загрузка модели ~1 минута): | ||
| Строка 220: | Строка 223: | ||
| </code> | </code> | ||
| - | Без ''–no-tui'' откроется экран мониторинга. | + | Без ''--no-tui'' откроется экран мониторинга. |
| Проверка, что сервер отвечает: | Проверка, что сервер отвечает: | ||
| Строка 228: | Строка 231: | ||
| </code> | </code> | ||
| - | Должна вернуться модель ''"id": "qwen3.8-flash-next-iq3_s"'' со статусом ''"loaded"''. | + | Должна вернуться модель ''"id": "qwen3.8-flash-next-iq3_s"'' со статусом ''"loaded"''. |
| Остановка (освобождает ~15.7 GB VRAM и ~50 GB RAM): | Остановка (освобождает ~15.7 GB VRAM и ~50 GB RAM): | ||
| Строка 247: | Строка 250: | ||
| </code> | </code> | ||
| - | Лог движка: ''%LOCALAPPDATA%Strata\launch<имя-пресета>.engine.log''. | + | Лог движка: ''%LOCALAPPDATA%\Strata\launch\<имя-пресета>.engine.log''. |
| ===== Шаг 5: Проверка API вручную ===== | ===== Шаг 5: Проверка API вручную ===== | ||
| Строка 256: | Строка 259: | ||
| </code> | </code> | ||
| - | Ответ содержит ''content'' (сам ответ), ''reasoning_content'' (рассуждения модели) и ''timings'' со скоростью. Streaming (''"stream": true'') поддерживается. | + | Ответ содержит ''content'' (сам ответ), ''reasoning_content'' (рассуждения модели) и ''timings'' со скоростью. Streaming (''"stream": true'') поддерживается. |
| ===== Шаг 6: Подключение Strata к Goose Desktop ===== | ===== Шаг 6: Подключение Strata к Goose Desktop ===== | ||
| Строка 264: | Строка 267: | ||
| Settings → Models → **Add Custom Provider**: | Settings → Models → **Add Custom Provider**: | ||
| - | ^Поле^Значение| | + | ^ Поле ^ Значение ^ |
| - | |Provider Type|**OpenAI Compatible** | | + | | Provider Type | **OpenAI Compatible** | |
| - | |Display Name|''Strata Qwen'' | | + | | Display Name | ''Strata Qwen'' | |
| - | |API URL|''[[http://127.0.0.1:8081/v1/chat/completions|http://127.0.0.1:8081/v1/chat/completions]]'' | | + | | API URL | ''http://127.0.0.1:8081/v1/chat/completions'' | |
| - | |API Key|пусто (при ''–access local'' ключ не нужен)| | + | | API Key | пусто (при ''--access local'' ключ не нужен) | |
| - | |Available Models|''qwen3.8-flash-next-iq3_s'' (точное имя из ''/v1/models'')| | + | | Available Models | ''qwen3.8-flash-next-iq3_s'' (точное имя из ''/v1/models'') | |
| - | |Streaming|включить| | + | | Streaming | включить | |
| Сохранить и выбрать этого провайдера в чате. | Сохранить и выбрать этого провайдера в чате. | ||
| Строка 276: | Строка 279: | ||
| ==== Вариант Б: файлом (то же самое, что делает интерфейс) ==== | ==== Вариант Б: файлом (то же самое, что делает интерфейс) ==== | ||
| - | Закройте Goose Desktop и создайте файл ''%APPDATA%Block\goose\config\custom_providers\custom_strata_qwen.json'': | + | Закройте Goose Desktop и создайте файл ''%APPDATA%\Block\goose\config\custom_providers\custom_strata_qwen.json'': |
| <code json> | <code json> | ||
| Строка 296: | Строка 299: | ||
| </code> | </code> | ||
| - | Чтобы сделать его провайдером по умолчанию, в ''%APPDATA%Block\goose\config\config.yaml'' (сначала сделайте резервную копию) замените строку ''active_provider: …'' на: | + | Чтобы сделать его провайдером по умолчанию, в ''%APPDATA%\Block\goose\config\config.yaml'' (сначала сделайте резервную копию) замените строку ''active_provider: ...'' на: |
| <code yaml> | <code yaml> | ||
| Строка 306: | Строка 309: | ||
| ==== Проверка ==== | ==== Проверка ==== | ||
| - | Из терминала (CLI ''goose.exe'' лежит внутри Desktop-приложения): | + | Из терминала (CLI ''goose.exe'' лежит внутри Desktop-приложения): |
| <code powershell> | <code powershell> | ||
| & "<папка Goose>\resources\bin\goose.exe" run --no-session -t "Привет, ответь одним словом" | & "<папка Goose>\resources\bin\goose.exe" run --no-session -t "Привет, ответь одним словом" | ||
| - | </code><code> | + | </code> |
| + | |||
| + | <code> | ||
| __( O)> ● new session · custom_strata_qwen qwen3.8-flash-next-iq3_s | __( O)> ● new session · custom_strata_qwen qwen3.8-flash-next-iq3_s | ||
| Привет | Привет | ||
| </code> | </code> | ||
| - | Убедиться, что запрос ушёл именно в локальную модель, а не в облако: ''strata logs –url [[http://127.0.0.1:8081|http://127.0.0.1:8081]]'' — в журнале появятся записи ''queued → admitted → first_token → finished'' в момент запроса из Goose. | + | Убедиться, что запрос ушёл именно в локальную модель, а не в облако: ''strata logs --url http://127.0.0.1:8081'' — в журнале появятся записи ''queued → admitted → first_token → finished'' в момент запроса из Goose. |
| - | **Порядок запуска:** сначала Strata, потом Goose. Если Strata не запущена, Goose пишет ''Could not connect to 127.0.0.1:8081''. | + | **Порядок запуска:** сначала Strata, потом Goose. Если Strata не запущена, Goose пишет ''Could not connect to 127.0.0.1:8081''. |
| ===== Шаг 7: Русский язык ===== | ===== Шаг 7: Русский язык ===== | ||
| - | Модель хорошо отвечает по-русски и технически корректно — переводчик-прокси не нужен. Чтобы Goose всегда отвечал по-русски, положите в корень проекта файл ''.goosehints'':<code> | + | Модель хорошо отвечает по-русски и технически корректно — переводчик-прокси не нужен. Чтобы Goose всегда отвечал по-русски, положите в корень проекта файл ''.goosehints'': |
| + | |||
| + | <code> | ||
| Всегда отвечай на русском языке. Код, команды, имена файлов, идентификаторы и технические термины оставляй без перевода. | Всегда отвечай на русском языке. Код, команды, имена файлов, идентификаторы и технические термины оставляй без перевода. | ||
| Комментарии в коде пиши на русском, если пользователь не попросил иначе. | Комментарии в коде пиши на русском, если пользователь не попросил иначе. | ||
| Строка 327: | Строка 334: | ||
| </code> | </code> | ||
| - | ''.goosehints'' действует только для сессий, открытых в этой папке. Для всех проектов сразу — положите такой же файл в ''%APPDATA%Block\goose\config.goosehints''. | + | ''.goosehints'' действует только для сессий, открытых в этой папке. Для всех проектов сразу — положите такой же файл в ''%APPDATA%\Block\goose\config\.goosehints''. |
| ===== Шаг 8: MCP-расширения для кодинга ===== | ===== Шаг 8: MCP-расширения для кодинга ===== | ||
| Строка 343: | Строка 350: | ||
| ==== Playwright (браузер для проверки UI) ==== | ==== Playwright (браузер для проверки UI) ==== | ||
| - | Добавьте в секцию ''extensions:'' файла ''config.yaml'': | + | Добавьте в секцию ''extensions:'' файла ''config.yaml'': |
| <code yaml> | <code yaml> | ||
| Строка 364: | Строка 371: | ||
| </code> | </code> | ||
| - | * **В ''cmd'' обязательно полный путь к системному ''npx.cmd'' **, а не просто ''npx'' — см. раздел «Проблемы и решения». | + | * **В ''cmd'' обязательно полный путь к системному ''npx.cmd''**, а не просто ''npx'' — см. раздел «Проблемы и решения». |
| - | * ''–browser msedge'' — использует уже установленный Microsoft Edge, Chromium скачивать не нужно. | + | * ''--browser msedge'' — использует уже установленный Microsoft Edge, Chromium скачивать не нужно. |
| - | * Проверить пакет вручную: ''npx -y @playwright/mcp@0.0.85 –help''. | + | * Проверить пакет вручную: ''npx -y @playwright/mcp@0.0.85 --help''. |
| - | После правки ''config.yaml'' полностью перезапустите Goose Desktop (включая значок в трее). | + | После правки ''config.yaml'' полностью перезапустите Goose Desktop (включая значок в трее). |
| - | Проверка: задача //Через расширение playwright открой [[https://example.com|https://example.com]] и скажи заголовок страницы// → Goose вызывает ''browser_navigate'' и отвечает «Example Domain». | + | Проверка: задача //Через расширение playwright открой https://example.com и скажи заголовок страницы// → Goose вызывает ''browser_navigate'' и отвечает «Example Domain». |
| ==== GitHub (по желанию) ==== | ==== GitHub (по желанию) ==== | ||
| Нужен ваш вход в GitHub: | Нужен ваш вход в GitHub: | ||
| - | + | * удалённый MCP-сервер ''https://api.githubcopilot.com/mcp/'' (Extensions → Add, вход через браузер), или | |
| - | * удалённый MCP-сервер ''[[https://api.githubcopilot.com/mcp/|https://api.githubcopilot.com/mcp/]]'' (Extensions → Add, вход через браузер), или | + | |
| * Personal Access Token. | * Personal Access Token. | ||
| ===== Шаг 9: Финальная проверка ===== | ===== Шаг 9: Финальная проверка ===== | ||
| - | В Goose (рабочая папка — ваш проект) дайте задачу:<code> | + | В Goose (рабочая папка — ваш проект) дайте задачу: |
| + | |||
| + | <code> | ||
| Создай файл hello.py, который выводит текущее время, и запусти его | Создай файл hello.py, который выводит текущее время, и запусти его | ||
| </code> | </code> | ||
| - | Ожидаемо: Goose отвечает по-русски, вызывает ''write'' (создаёт ''hello.py'') и ''shell'' (''python hello.py''), выводит время. В ''strata logs'' видны запросы. | + | Ожидаемо: Goose отвечает по-русски, вызывает ''write'' (создаёт ''hello.py'') и ''shell'' (''python hello.py''), выводит время. В ''strata logs'' видны запросы. |
| + | |||
| + | ===== Хранение моделей и перенос на другой диск ===== | ||
| + | |||
| + | ==== Где лежат файлы ==== | ||
| + | |||
| + | Данные Strata находятся в **папке данных**. По умолчанию это ''%LOCALAPPDATA%\Strata\Strata-data''. Путь к ней записан в ''%APPDATA%\Strata\settings.json'' (ключ ''data_dir''). | ||
| + | |||
| + | ^ Папка ^ Что в ней ^ Пример (IQ3_S) ^ | ||
| + | | ''Strata-data\models\<КВАНТ>\'' | Файлы модели (GGUF-шарды) и метки ''.done'' о завершённой загрузке | ''models\IQ3_S\'', 2 файла, 78 GB | | ||
| + | | ''Strata-data\packs\<квант>\'' | Модель, подготовленная под движок | ''packs\iq3_s\'', 1.5 GB | | ||
| + | | ''Strata-data\dflash2\'' | Драфтер DFlash2 (ускоряет генерацию) | 0.8 GB | | ||
| + | | ''Strata-data\mtp\'' | Слой MTP (только у моделей с ''--drafting mtp'') | — | | ||
| + | | ''%LOCALAPPDATA%\Strata\components'', ''install'', ''terminal'' | Движок и сама программа (не модели) | ~1.3 GB | | ||
| + | | ''%LOCALAPPDATA%\Strata\launch'' | Пресеты и логи запусков | мегабайты | | ||
| + | |||
| + | Новые модели скачиваются в ту же папку данных. Каждый квант получает свою папку в ''models'' и ''packs''. Например, после ''--model ud-iq4_xs'' добавится около 94 GB. | ||
| + | |||
| + | Посмотреть, что установлено: | ||
| + | |||
| + | <code powershell> | ||
| + | strata models list --installed | ||
| + | </code> | ||
| + | |||
| + | <code> | ||
| + | iq3_s present qwen3.8-flash-next-iq3_s | ||
| + | </code> | ||
| + | |||
| + | ==== На какой диск класть ==== | ||
| + | |||
| + | Strata подгружает экспертов модели с диска, если они не помещаются в RAM+VRAM. Поэтому скорость диска напрямую влияет на скорость ответов: чем больше модель превышает 80 GB, тем сильнее. | ||
| + | |||
| + | ^ Диск на этом ПК ^ Тип ^ Для моделей ^ | ||
| + | | C: | NVMe SSD, 954 GB | **Лучший вариант**, модели лежат здесь сейчас | | ||
| + | | D: | SATA SSD, 3.7 TB | Можно, если на C: не хватает места. Медленнее NVMe (~550 MB/s против ~3 GB/s), заметно на моделях больше 80 GB | | ||
| + | | E:, F:, G: | HDD | **Не использовать** для запуска, только для архива (скорость падает в разы) | | ||
| + | |||
| + | **Примечание:** копия RVN IQ3_S в ''F:\projects\inst\qwen-iq3s'' (83 GB) лежит на HDD, и Strata её не использует. Её стоит оставить только для переноса на сервер (см. [[:truenas:application:llamacpp_moe_ssd|llama.cpp: MoE с NVMe + RAM на TrueNAS]]), а потом удалить. | ||
| + | |||
| + | ==== Перенос моделей в другую папку ==== | ||
| + | |||
| + | У Strata есть встроенный перенос, поэтому вручную копировать и делать junction не нужно. Файлы переносятся по одному: каждый копируется, сверяется по SHA-256 и только после этого удаляется со старого места. Если прервать перенос, ничего не потеряется. Перенос на тот же диск выполняется мгновенным переименованием, на другой диск — копированием. | ||
| + | |||
| + | **Важно:** перед переносом остановите сервер: в трее «Остановить» или ''strata launch --stop --preset "..."''. | ||
| + | |||
| + | **Способ 1 (рекомендуется): ''strata launch --data-dir ... --move-data''.** Модели переносятся, новая папка запоминается в ''settings.json'' (туда же пойдут следующие загрузки), сервер запускается. | ||
| + | |||
| + | <code powershell> | ||
| + | strata launch --stop --preset "Goose IQ3_S official 8081" | ||
| + | |||
| + | # сначала план: сколько GB и хватит ли места (ничего не меняет) | ||
| + | strata models move D:\StrataModels --plan | ||
| + | |||
| + | # перенос + запуск | ||
| + | strata launch --preset "Goose IQ3_S official 8081" --data-dir D:\StrataModels --move-data --no-tui --yes | ||
| + | </code> | ||
| + | |||
| + | Вывод плана на этом ПК: | ||
| + | |||
| + | <code> | ||
| + | 1 model(s), 85.2 GB; 2109.3 GB free in D:\StrataModels. | ||
| + | </code> | ||
| + | |||
| + | Без ''--move-data'' старые модели останутся на месте и будут работать, а в новую папку пойдут только новые загрузки. ''--yes'' сам по себе модели **не** переносит. | ||
| + | |||
| + | **Способ 2: ''strata models move''.** Переносит файлы (''models'', ''packs'', ''mtp'') и исправляет пути в конфигурациях запуска, но сервер не запускает. | ||
| + | |||
| + | <code powershell> | ||
| + | strata models move D:\StrataModels --plan # план | ||
| + | strata models move D:\StrataModels # перенос (прогресс: "12.3 of 85.2 GB <файл>") | ||
| + | </code> | ||
| + | |||
| + | **(проверить)** По исходному коду Strata 0.1.59 эта команда не меняет ''data_dir'' в ''settings.json''. Поэтому новые загрузки могут продолжать идти в старую папку. Чтобы закрепить новую папку, один раз запустите модель с ''--data-dir D:\StrataModels'' или используйте способ 1. | ||
| + | |||
| + | Если перенос прервался (выключили ПК, закончилось место): | ||
| + | |||
| + | <code powershell> | ||
| + | strata models move --status # был ли незаконченный перенос | ||
| + | strata models move --resume # докончить | ||
| + | strata models move --leave # отказаться: модели остаются в старой папке, частичные копии удаляются | ||
| + | </code> | ||
| + | |||
| + | После переноса проверьте: | ||
| + | |||
| + | <code powershell> | ||
| + | Get-Content $env:APPDATA\Strata\settings.json # data_dir = новая папка | ||
| + | strata models list --installed # модель present | ||
| + | curl.exe http://127.0.0.1:8081/v1/models # сервер отвечает | ||
| + | </code> | ||
| + | |||
| + | **Примечание:** папка ''dflash2'' в перенос не входит и остаётся в старом месте (0.8 GB) **(проверить)**. Это не мешает работе. | ||
| + | |||
| + | ==== Удаление ненужной модели ==== | ||
| + | |||
| + | Отдельной команды для удаления модели в Strata 0.1.59 нет. Удалять нужно вручную при остановленном сервере: | ||
| + | |||
| + | <code powershell> | ||
| + | strata launch --stop --preset "Goose IQ3_S official 8081" | ||
| + | $d = (Get-Content $env:APPDATA\Strata\settings.json | ConvertFrom-Json).data_dir | ||
| + | Get-ChildItem "$d\models", "$d\packs" # посмотреть, что есть | ||
| + | Remove-Item -Recurse "$d\models\UD-IQ4_XS", "$d\packs\ud-iq4_xs" # пример: имена папок берите из списка выше | ||
| + | strata launch --delete-preset "ud-iq4_xs 8081" # если для неё сохранён пресет | ||
| + | </code> | ||
| + | |||
| + | Модель, которая используется в рабочем пресете (сейчас ''IQ3_S''), не удаляйте. | ||
| ===== Производительность (RTX 4080 16 GB + 64 GB RAM, IQ3_S) ===== | ===== Производительность (RTX 4080 16 GB + 64 GB RAM, IQ3_S) ===== | ||
| - | ^Показатель^Значение| | + | ^ Показатель ^ Значение ^ |
| - | |Генерация|~21.5 токенов/с (DFlash2 принимает ~75% предсказанных токенов)| | + | | Генерация | ~21.5 токенов/с (DFlash2 принимает ~75% предсказанных токенов) | |
| - | |Чтение промпта|~30 токенов/с на коротких, ~350–400 токенов/с на длинных (12 тыс. токенов ≈ 30–35 с)| | + | | Чтение промпта | ~30 токенов/с на коротких, ~350–400 токенов/с на длинных (12 тыс. токенов ≈ 30–35 с) | |
| - | |Первый запрос Goose (системный промпт + инструменты ≈ 12 тыс. токенов)|~30 с, дальше быстрее за счёт кэша| | + | | Первый запрос Goose (системный промпт + инструменты ≈ 12 тыс. токенов) | ~30 с, дальше быстрее за счёт кэша | |
| - | |«Привет, ответь одним словом» через Goose|~18 с| | + | | «Привет, ответь одним словом» через Goose | ~18 с | |
| - | |Создать и запустить hello.py|~75 с| | + | | Создать и запустить hello.py | ~75 с | |
| - | |Простая задача через Playwright|~90 с| | + | | Простая задача через Playwright | ~90 с | |
| - | |Занято VRAM|15.7 / 16 GB| | + | | Занято VRAM | 15.7 / 16 GB | |
| - | |Параллельность|1 запрос (из-за DFlash2); второй запрос Goose (генерация названия сессии) ждёт в очереди| | + | | Параллельность | 1 запрос (из-за DFlash2); второй запрос Goose (генерация названия сессии) ждёт в очереди | |
| ===== Проблемы и решения ===== | ===== Проблемы и решения ===== | ||
| Строка 403: | Строка 515: | ||
| ==== Порт 8080 занят ==== | ==== Порт 8080 занят ==== | ||
| - | Симптом: ''curl [[http://127.0.0.1:8080/v1/models|http://127.0.0.1:8080/v1/models]]'' → ''Empty reply from server'' (curl exit 52). | + | Симптом: ''curl http://127.0.0.1:8080/v1/models'' → ''Empty reply from server'' (curl exit 52). |
| Проверка, кто держит порт: | Проверка, кто держит порт: | ||
| Строка 412: | Строка 524: | ||
| </code> | </code> | ||
| - | Если это ''wslrelay.exe'' — порт пробрасывается из WSL (у нас — Docker-контейнер Jira). Решение: запускать Strata на другом порту (''–port 8081''). | + | Если это ''wslrelay.exe'' — порт пробрасывается из WSL (у нас — Docker-контейнер Jira). Решение: запускать Strata на другом порту (''--port 8081''). |
| ==== Сторонний GGUF не запускается (engine requires BF16) ==== | ==== Сторонний GGUF не запускается (engine requires BF16) ==== | ||
| - | Симптом при ''–model-path'' со сборкой ''RVN-Qwen3.8-Flash-Next-IQ3_S'':<code> | + | Симптом при ''--model-path'' со сборкой ''RVN-Qwen3.8-Flash-Next-IQ3_S'': |
| + | |||
| + | <code> | ||
| output_hc_down.weight is IQ3_S, but the engine requires BF16; use --compat-bf16 | output_hc_down.weight is IQ3_S, but the engine requires BF16; use --compat-bf16 | ||
| blk.0.ssm_alpha.weight is IQ3_S, but the engine requires BF16; use --compat-bf16 | blk.0.ssm_alpha.weight is IQ3_S, but the engine requires BF16; use --compat-bf16 | ||
| Строка 423: | Строка 537: | ||
| </code> | </code> | ||
| - | Причина: в этой сборке в 3 бита сжаты и служебные тензоры (''hc_*'', ''ssm_alpha/beta''), а движку Strata они нужны в BF16. Кроме того, Strata по размеру ошибочно определяла эти файлы как ''UD-IQ4_XS'' (хотя в заголовке GGUF ''general.file_type = 26'' = IQ3_S) — помогло явное ''–model iq3_s''. | + | Причина: в этой сборке в 3 бита сжаты и служебные тензоры (''hc_*'', ''ssm_alpha/beta''), а движку Strata они нужны в BF16. Кроме того, Strata по размеру ошибочно определяла эти файлы как ''UD-IQ4_XS'' (хотя в заголовке GGUF ''general.file_type = 26'' = IQ3_S) — помогло явное ''--model iq3_s''. |
| - | Решение: скачать официальную сборку Strata (''strata launch –model iq3_s'' без ''–model-path''). Альтернатива — перепаковка с ''–compat-bf16'', но качество уже испорченных тензоров не вернётся. | + | Решение: скачать официальную сборку Strata (''strata launch --model iq3_s'' без ''--model-path''). Альтернатива — перепаковка с ''--compat-bf16'', но качество уже испорченных тензоров не вернётся. |
| ==== Playwright не загружается в Goose ==== | ==== Playwright не загружается в Goose ==== | ||
| - | Симптом в логе Goose (''%APPDATA%Block\goose\data\logs\cli…''): | + | Симптом в логе Goose (''%APPDATA%\Block\goose\data\logs\cli\...''): |
| <code> | <code> | ||
| Строка 437: | Строка 551: | ||
| </code> | </code> | ||
| - | Причина: если в ''cmd'' указано просто ''npx'', Goose подменяет его своей обёрткой (''<папка Goose>resources\bin\npx.cmd''), которая не видит системный Node.js и пытается скачать портативный; скачивание не успевает до таймаута. | + | Причина: если в ''cmd'' указано просто ''npx'', Goose подменяет его своей обёрткой (''<папка Goose>\resources\bin\npx.cmd''), которая не видит системный Node.js и пытается скачать портативный; скачивание не успевает до таймаута. |
| - | Решение: ''cmd: C:\Program Files\nodejs\npx.cmd'' (полный путь). | + | Решение: ''cmd: C:\Program Files\nodejs\npx.cmd'' (полный путь). |
| ==== Goose пишет файлы не в ту папку ==== | ==== Goose пишет файлы не в ту папку ==== | ||
| - | Goose работает в рабочей папке сессии (выбирается внизу окна чата или ''Ctrl+O''). Если в тексте задачи указан другой путь («разверни в F:…»), Goose будет использовать его до конца сессии. Для нового проекта — новый чат (''Ctrl+T'') в нужной папке, без других путей в задаче. | + | Goose работает в рабочей папке сессии (выбирается внизу окна чата или ''Ctrl+O''). Если в тексте задачи указан другой путь («разверни в F:\...»), Goose будет использовать его до конца сессии. Для нового проекта — новый чат (''Ctrl+T'') в нужной папке, без других путей в задаче. |
| ===== Шпаргалка ===== | ===== Шпаргалка ===== | ||
| Строка 456: | Строка 570: | ||
| strata monitor --url http://127.0.0.1:8081 | strata monitor --url http://127.0.0.1:8081 | ||
| strata logs --url http://127.0.0.1:8081 | strata logs --url http://127.0.0.1:8081 | ||
| + | |||
| + | # модели: список и перенос на другой диск (сервер остановлен) | ||
| + | strata models list --installed | ||
| + | strata models move D:\StrataModels --plan | ||
| + | strata launch --preset "Goose IQ3_S official 8081" --data-dir D:\StrataModels --move-data --no-tui --yes | ||
| </code> | </code> | ||
| - | ^Что^Где| | + | ^ Что ^ Где ^ |
| - | |Strata|''%LOCALAPPDATA%Strata'' | | + | | Strata | ''%LOCALAPPDATA%\Strata'' | |
| - | |Провайдер Goose|''%APPDATA%Block\goose\config\custom_providers\custom_strata_qwen.json'' | | + | | Модели (папка данных) | ''%LOCALAPPDATA%\Strata\Strata-data\models'' (путь — ''data_dir'' в ''%APPDATA%\Strata\settings.json'') | |
| - | |Конфиг Goose (расширения, провайдер по умолчанию)|''%APPDATA%Block\goose\config\config.yaml'' | | + | | Провайдер Goose | ''%APPDATA%\Block\goose\config\custom_providers\custom_strata_qwen.json'' | |
| - | |Логи Goose|''%APPDATA%Block\goose\data\logs'' | | + | | Конфиг Goose (расширения, провайдер по умолчанию) | ''%APPDATA%\Block\goose\config\config.yaml'' | |
| - | |Модель в Goose|''custom_strata_qwen'' / ''qwen3.8-flash-next-iq3_s'' | | + | | Логи Goose | ''%APPDATA%\Block\goose\data\logs'' | |
| - | + | | Модель в Goose | ''custom_strata_qwen'' / ''qwen3.8-flash-next-iq3_s'' | | |
| - | \\ | + | |