Showing posts with label git. Show all posts
Showing posts with label git. Show all posts

Wednesday, 4 March 2026

Мелкие правки в ComfyUI

Всем привет,

Вот любит человек иногда украшать и без того навороченый интерфейс очередного GUI. 

ComfyUI не исключение. Про всякие glow-темы я молчу. 

Даже от гуру Орекса вот прилетело на днях - скрипт BossNeon. Всего ничего, один файлик javascript который симпотно подсвечивает активную ноду, кроме того он еще и другую информацыию выдает в дополнительном окошке. Автор  BossNeon все надписи заточил на русский язык. Зачем? Не знаю, вот представьте, у вас англоязычний GUI, а тут два зеленых окошка и меседжи на русском. Не порядок!

Короче я переписал его сообщения на латынь, логику скрипта не трогал, и форк его здесь.

Ок, а как вообще делать мелкие правки в коде ComfyUI?

Разумеется вы должны четко понимать что вы делаете и зачем. 

А дальше просто, пишу как делаю я:

  1. первым шагом я делаю копию нужного файла, например custom.py  копирую в custom.1. Чтобы вернуться назад одним кликом если что-то пойдет не так.
  2. во вторых, уже после правки я делаю копию файла еще раз , например custom.py  копирую в custom.2. Чтобы сохранить свои правки после очередного обновления ComfyUI. А далее уже надо будет смотреть насколько новый custom.py  отличается от custom.2.

Что еще есть полезного? 

B ComfyUI Manager появилась фича Snapshot Manager, предназначена для бекапов ComfyUI. Как я вижу она больше для версионности ваших проделок в ComfyUI, ибо если  ComfyUI не стартанет после очередного вашего вмешательства (или обновления) то, логично, что и Snapshot Manager не поможет.

Успехов.


Monday, 2 March 2026

Твій Git як класичний FTP.


Привіт.

Раптом я хочу закинути свої дорогоцінні файли на GitHub в існуючий репозиторій. Але мені не треба щоб все що там вже є прибігло назад на мій ПК, мені треба тільки ДОДАТИ(ЗАМІНИТИ) в репозиторії. Можливо?

Тобто Ви хочете використовувати Git як FTP: "ось тобі нові файли, поклади їх до купи, а старе мені не показуй". Але тут є нюанс: Git - це система синхронізації. Він працює за логікою: "Що є у тебе в папці = те має бути на сервері". Якщо ви створите нову папку з новими файлами, але без старих, і спробуєте силою залити це в основну гілку (main), Git подумає: "Ага, користувач видалив старі файли і залишив тільки ці нові". І він видалить все старе на сервері.

Щоб не завантажувати гігабайти старого коду назад на ПК, але безпечно додати нове, є два шляхи:

Варіант 1. Найпростіший (через веб-браузер)

Якщо це разова акція і там всього десяток папок, це найшвидший варіант, який працює як FTP.

Відкрийте ваш репозиторій на GitHub.

Натисніть Add file → Upload files.

Відкрийте провідник на комп'ютері і просто перетягніть усю папку з новими файлами прямо у вікно браузера. Зачекайте завантаження і натисніть зелену кнопку Commit changes.

Це збереже і старі файли, і додасть нові, і нічого не качатиме вам на ПК.

Якщо файлів небагато то це саме воно! А якщо їх назбиралася ціла купа - не наклікаєшся!))

Friday, 23 January 2026

Видеокурс Forge WebUi (КМБ).

Всем привет.

Ребята, сегодня хочу вам порекомендовать курс "FORGE WebUi (КМБ)" , который реально отличается от масс-маркета.

Сразу скажу: автор, Дмитрий Невский, не обещает «волшебную таблетку» или профессию за три дня. Это честное, живое обучение для тех, кто хочет реально разобраться, а не просто поиграться.

Многие думают, что учиться можно и по YouTube. Можно, но там каша. Автор этого курса в теме уже три года (еще с выхода самых первых нейросетей) и сгенерировал больше миллиона картинок. Он сделал этот продукт именно потому, что понял: людям не хватает структуры и глубины, а не просто разрозненных роликов.

Это не «рекламная вода», а концентрат его личного опыта. Курс проведет вас от базы Stable Diffusion 1.5 до всех наворотов Forge.

Главная фишка: вас научат не просто тыкать кнопки по шаблону, а понимать логику. Вы разберете интерфейс по винтикам и поймете, за что отвечает каждая настройка. Подойдет и новичкам, и тем, кто уже давно генерит, но хочет систематизировать знания.

Далее следует оригинал от Дмитрия Невского. Там же освещены ответы на финаносовые вопросы. Удaчи.

После того как вы оформите покупку вам откроется доступ ко всем уже вышедшим урокам и материалам к ним, а так же ссылка на чат в телеграме.


📖 КРАТКОЕ СОДЕРЖАНИЕ И ПРОГРАММА КУРСА

Курс организован на несколько блоков, где каждый блок будет содержать серию тематических уроков, позволяющих полностью освоить конкретную тему от А до Я.

✨ 1. Первый блок: осваиваем Forge с нуля. 

В нем мы детально разберём:

- Правильную установку Forge - все нюансы и подводные камни;

Разберем интерфейс "по косточкам":

- Назначение каждого окна и панели;

- Гибкую настройку рабочего пространства под свои нужды;

Ключевые параметры в Settings:

- Как каждый параметр влияет на генерацию;

- Какие настройки действительно стоит менять, а какие лучше не трогать;

- Оптимальные конфигурации для разных задач.

Вы поймёте не просто "где что находится", а научитесь осознанно работать с интерфейсом.

Friday, 2 January 2026

GenAI і розумна докачка.


Всім привіт.

От чого не вистачає в багатьох безкоштовних інструментах GenAI ? 

Розумної докачки великих файлів, особливо моделей.

Розробники вважають що інтернет завжди стабільний, а файл моделі іноді не докачується, потім на диску лежить недокачаний файл, а сам GenAI-інструмент не знає як з цим бути.

Це класична помилка "Happy Path" (шляху щасливчика) у розробці - коли програміст пише код, розраховуючи, що мережа ідеальна, диск не переповниться, а світло не вимкнуть. Звісно коли ми користуємся безкоштовним ПЗ то всі претензії зайві, хоча побажання завжди можно залишити на github.

Для великих файлів (LLM моделі, ваги нейромереж .gguf, .bin, які важать гігабайти) простої докачки замало. Є ще одна величезна проблема - "биті" файли.

Файл може скачатися повністю (розмір зійдеться байт-у-байт), але всередині буде "сміття" через помилку мережі. Інструмент спробує завантажити таку модель і впаде з незрозумілою помилкою.

Ось "золотий стандарт" для завантажувача моделей, який вирішує проблему "недокачаного або битого файлу". Тому додаємо перевірку SHA256 хешу.

Цей код робить три речі (для Python 3.10+):

  • Перевіряє, чи файл вже є. Якщо він є і розмір збігається — перевіряє його цілісність (хеш).
  • Докачує, якщо файл неповний.
  • Видаляє файл, якщо після скачування хеш не зійшовся (щоб ви не зберігали сміття).

Python

import urllib.request

import urllib.error

import sys

import os

import hashlib

Friday, 3 October 2025

Google AI Studio та Vercel.

Привіт привіт.

Google AI Studio активно пропонує vibe coding з своїм помічником Code Assistant. На виході отримуємо код React (TypeScript). 

Але в плані Free Tier ви мусите запускати свій онлайн застосунок з того ж таки гугл драйва. Виглядає це так

https://ai.studio/apps/drive/1aPqW_yllKk7ZKDpuh1gHpHzej4hH7oQm

При цьому код проекта буде доступний любому бажаючому. Та й саме URL посилання якось не гарно виглядає).

Тому маємо два шляхи, або Deploy проекта в Google Cloud, або Deploy проекта в Github, а звідти розгортання його з Vercel.

Що робимо для Vercel?

1) в Google AI Studio генеруємо свій Google API ключ в плані Free Tier.

2) в Vercel створюємо проект з репозиторію Github який ми задеплоїли з Google AI Studio

3) вставлємо в змінні проекту наш API ключ під назвою VITE_API_KEY

4) повертаємося до  Google AI Studio і в проекті в файлі geminiService.ts робимо заміну рядка

const API_KEY = process.env.API_KEY;

на

const API_KEY = import.meta.env.VITE_API_KEY;

5) також в корні проекту створюємо новий файл vite-env.d.ts з таким наповненням

interface ImportMetaEnv {

  readonly VITE_API_KEY: string;

}

interface ImportMeta {

  readonly env: ImportMetaEnv;

} 

6) робимо ще раз деплой репозиторія на Github

7) все, через хвилину наш проект доступний за новим гарним URL

https://pixel-studio-pro.vercel.app/

Щасти.

Sunday, 20 July 2025

FaceFusion - замена лиц на изображениях и видео.


Всем привет!

Сегодня взглянем на FaceFusion версии 3.0.0 (последняя 3.3.2) - мощный инструмент для замены лиц на изображениях и видео!

Он очень похож на VisoMaster, который делает замену лиц в видео и изображениях. И он также open-source решение, которое работает на Windows и Linux и подходит как для творческих экспериментов, так и для знакомства с технологиями deepfake. Потому пробуйте и делайте свой выбор.

Давайте теперь разберём, что это за инструмент, чем он примечателен и как его установить.

Для его начального использования понадобится всего лишь фотография в профиль. 

Основные возможности FaceFusion:

  • Замена лиц на фото и видео;
  • Улучшение качества лиц и кадров;
  • Раскрашивание черно-белых видео;
  • Синхронизация губ (Lip-sync);
  • Поддержка нескольких моделей для замены лиц;
  • Настройка параметров обработки;
  • Работа с несколькими лицами в кадре.

А в последней версии добавлено следующее:

  • Добавлена возможность изменения возраста;
  • Улучшение качества пикселей для алгоритмов замены лиц;
  • Live Portrait улучшает выражения лиц на фотографиях;
  • Порядок выбора лиц теперь учитывает возраст, пол и другие параметры;
  • Новые видеокодеки h264_videotoolbox и hevc_videotoolbox;
  • Исправлено качество изображений формата webp;

и другие улучшения и изменения, весь список вы можете прочесть на GitHub.

Saturday, 1 March 2025

VisoMaster: замена лиц в видео и на фото.


Всем привет.

Сегодня я хочу рассказать вам о VisoMaster - проекте, который делает замену лиц в видео и изображениях проще и доступнее для всех. Это open-source решение, которое работает на Windows и Linux и подходит как для творческих экспериментов, так и для знакомства с технологиями deepfake. Хотите попробовать себя в роли видеомонтажёра или узнать, как работают нейросети? Давайте разберём, что это за инструмент, чем он примечателен и как его установить.


Что такое VisoMaster?

VisoMaster - это проект на GitHub (https://github.com/visomaster/VisoMaster), созданный энтузиастами, включая @argenspin и @Alucard24. Он позволяет загружать видео или фото, выбирать любое лицо для замены и получать результат с помощью нейросетей. Всё интуитивно: добавляете материалы, настраиваете параметры, запускаете обработку. Проект поддерживает разные форматы файлов, а в последних обновлениях (v0.1.5) появилась возможность передавать результат на виртуальную камеру - например, для стримов в OBS.

VisoMaster вырос из популярного редактора Rope и его ответвления RopeMod. Оригинальный Rope давно не обновлялся - разработчик не выпускал новых версий уже наверное более полугода. Сообщество решило взять дело в свои руки и создало своего рода "переосмысление" проекта. VisoMaster унаследовал ключевые возможности RopeMod, такие как детальная настройка масок и поддержка видео с веб-камеры, но при этом стал быстрее и удобнее. Интерфейс теперь отзывчивее, можно работать не только с папками, но и с отдельными файлами, а некоторые инструменты заметно ускорились. 


Для чего нужен VisoMaster.

VisoMaster открывает простор для творчества. С ним можно создавать забавные ролики с заменой лиц, делать уникальные аватарки или экспериментировать с видео. Стримеры оценят интеграцию с виртуальной камерой - представьте, как ведёте эфир с другим лицом в реальном времени. А для тех, кто только начинает знакомство с нейросетями, это удобный способ увидеть их работу без глубокого погружения в технические детали.

Как установить VisoMaster.

Установка зависит от вашей системы. Для Windows есть простой автоматический вариант, а для Linux или желающих настроить всё вручную - более гибкий подход.

Как установить VisoMaster для Windows:

1. Перейдите на страницу релизов VisoMaster (https://github.com/visomaster/VisoMaster/releases) и скачайте последнюю версию программы на февраль 2025 года - v0.1.5. Для этой версии доступна портативная версия в формате архива (.zip). Скачайте файл, но обратите внимание: портативная версия не содержит встроенного выбора версии CUDA. Убедитесь, что на вашем компьютере уже установлена совместимая версия CUDA, соответствующая вашей видеокарте NVIDIA:

  • для видеокарт серии 10xx (например, GTX 1080) используйте CUDA 11.8.
  • для видеокарт серии 20xx и выше (например, RTX 2080 или новее) используйте CUDA 12.4.

Проверьте, что у вас установлены актуальные драйверы NVIDIA, совместимые с выбранной версией CUDA (информацию о минимальных версиях драйверов можно найти в документации CUDA или на сайте NVIDIA).

Распакуйте скачанный архив в удобное место на вашем компьютере - например, в папку на диске C или D. Для этого используйте любой архиватор 7-Zip или встроенные средства Windows.

После распаковки откройте папку с программой и найдите файл Start_Portable.bat. Дважды щёлкните по нему, чтобы запустить VisoMaster. В процессе запуска скачаются необходимые для работы зависимости и модели. Интерфейс программы откроется, и вы сможете приступить к работе.

Friday, 7 February 2025

Git та safe.directory

Привіт привіт.

Після міграції на новий GenAI сервер з портабельними версіями генераторів Forge, ComfyUI та Fooocus ви можете отримати сюрприз при спробі оновленння або встановлення нових функцій будь якого генератора, тобто всього того що використовує Git.

Під час спроби виконати команду git, наприклад клонування, git повертає фатальну помилку, повідомляючи, що ваш репозиторій має сумнівне право власності, і команда git переривається. Текст про помилку може бути різний, але він буде пов'язваний з Working Directory. Як приклад повертається помилка (дивитися в консолі самого генератора), подібна до наведеної нижче: 

fatal: detected dubious ownership in repository at '<path to the repository>'

To add an exception for this directory, call:

git config --global --add safe.directory <path to the repository>

або

fatal: unsafe repository ('<path to the repository>' is owned by someone else)

To add an exception for this directory, call:

git config --global --add safe.directory <path to the repository>


Причина

З git 2.35.2+ було внесено зміни, щоб запобігти користувачеві виконувати команди в репозиторії, що належить іншому користувачеві. Це зроблено для усунення загрози безпеці, CVE-2022-24765 , для отримання додаткової інформації див. setup_git_directory та оголошено про вразливість безпеки Git . Зміни в setup_git_directory запобігають викликам виконання команд у сховищі, що належить іншому користувачеві. 

Авжеж, якщо це нова інсталяція Windows, то і Ви як користувач (тобто SID) вже новий для локальних репозиторіїв Forge, ComfyUI та Fooocus, навіть якшо вони були портабельні.

Thursday, 10 October 2024

Уровни безопасности ComfyUI Manager.


Всем привет.

Нам машет ComfyUI Manager: This action is not allowed with this security level configuration.

Многие пользователи, которые только начинают пользоваться интерфейсом ComfyUI, возможно, сталкивались с таким сообщением при работе с ComfyUI Manager. Они часто называют его ошибкой по своему незнанию предмета. Когда вы пытаетесь установить расширение из GitHub, то видите неприятное сообщение о том, что установка невозможна. "This action is not allowed with this security level configuration" - т.е это действие не разрешено при данном уровне безопасности конфигурации.

Это связано с недавними изменениями в ComfyUI-Manager:

* V2.48.1: Security policy has been changed. Downloads of models in the list are allowed under the 'normal' security level.

* V2.47: Security policy has been changed. The former 'normal' is now 'normal-', and 'normal' no longer allows high-risk features, even if your ComfyUI is local.

* V2.37 Show a ✅ mark to accounts that have been active on GitHub for more than six months.

* V2.33 Security policy is applied.


Где искать и править?

1. Перейдите в директорию ComfyUI/custom_nodes/ComfyUI-Manager и найдите там файл config.ini.

2. Откройте файл config.ini в режиме редактирования.

3. Найдите строку security_level = <LEVEL>, если такой строки нет(у меня так было), то просто допишите её в самом конце.

4. Выберите уровень безопасности, который вам подходит(?) и пропишите его:

security_level = normal-

Wednesday, 2 August 2023

Траблшутинг Stable Diffusion.

Всем привет.

Бывают случаи когда после очередного обновления Stable Diffusion в лице А1111 перестает работать как надо. 

Частенько Extensions для А1111 используют одни и теже библиотеки и плохо делят их между собой. Поэтому для начала попробуйте отключить (удалять не надо) некоторые из своих расширений и перезапустите А1111. У меня так например не сошлись характерами SD-CN-Animation и ROOP.

Если это не помогло тогда можно откатить свой Stable Diffusion до предыдущего релиза. До какого именно, вам надо определиться самим по истории в репозитории А1111 в Git. В принципе вся процедура тривиальна и хорошо знакома знатокам CI/CD.

Для возврата на другую версию Stable Diffusion WebUI, необходимо в папке с Stable Diffusion выполнить команду:

git checkout <номер нужного релиза A1111>

Номер релиза в Git фигурирует как branch number. Как найти нужный есть много мануалов в сети.

Ввести команду можно так:

- если вы в ручную устанавливали Git то у вас в проводнике Windows появились быстрые команды для Git в popup-меню. Правой кнопкой мыши нажмите на папку с вашей Stable Diffusion и выберете в появившемся меню Git Bash Here. После чего откроется окно с командной строкой в которой уже можно вписать или вставить данную команду,

-  можно в проводнике открыть папку с вашей Stable Diffusion. В адресной строке вверху где показывается весь путь к вашей папки с Stable Diffusion, выделить все и на английской раскладке написать cmd  и нажать Enter. Запустится оболочка командной строки куда также можно вставить команду приведенную выше.

Важно - выполнять команду следует именно в папке Stable Diffusion!

После того как команда выполнена, закройте окно командной стоки, удалите папку venv, так как с последним обновлением обновились зависимости и запустите как обычно, с помощью webui-user.bat. Папка venv создастся сама при запуске А1111, нужные зависимости установятся автоматически или подтянутся из кеша, без повторного скачивания.

Никаких правок в webui-user.bat делать не нужно, git pull тоже можно оставить в скрипте. Однако для портабельной версии следует сократить строку git pull origin master до git pull.

Когда разработчики поправят баги вы сможете вернуться на актуальную версию командой:

git checkout master

Успехов.

Thursday, 20 April 2023

Английский язык с ChatGPT.

Всем привет.

Пожалуй, новости о языковых моделях и их использовании уже немного надоели, но вчера я нашел у одного парня для себя полезное применение - изучать Английский, в том числе и разговорный. Что могут нам предложить в этом деле специалисты из OpenAI: например совместить работу ChatGPT, Whisper и Telegram.

Мотивация - нужно заговорить на английском не стесняясь, но так чтобы тебя понимали. Не секрет что уровень B1 у каждого второго преимущественно в чтении или письме. Разговорные уроки с учителем стоят довольно дорого, ходить в английские клубы не всегда удобно, да и вообще общаться с людьми оффлайн или онлайн на непонятные темы не хочется. Поэтому тот парень решил, что для начала будет легше заставить себя говорить на компьютер, например c ChatGPT. Где ChatGPT войдет в роль учителя-помощника и будет поправлять тебя каждый раз если ты ошибешся, также он будет готов тебя слушать 24/7 и поддерживать диалог на любую тематику. Почти идеально.

Про постановку задачи и проверку модели SAR вы можете прочитать у автора в посте. Репозиторий его кода расположен здесь.

Реализация - лично я не заморачивался арендой сервера. Я сделал форк его репозитория и пошел с ним на Gitpod, где и собрал нужный docker-контейнер. Разумеется перед сборкой надо прописать в коде значение openai.api_key  для GPT и TOKEN для Telegram. Уверен, что вы знаете где их искать.)


Далее запускаете контейнер "Run interactive" и разговариваете в своем Telegram. 


Все работает. Для задания роли учителя а не просто собеседника необходимо использовать ключ /teach.

Почти идеально ибо ваш учитель отвечает вам только письменно. Понимать на слух речь собеседника это уже другая задача. Кстати, преподаватели Английского уже малость волнуются за свое будущее, и я их понимаю: АІ-технологии могут им оставить только самых ленивых учеников, или самых болтливых.)

Удачи.


Wednesday, 5 August 2020

AWX - первый старт.

Всем привет.

Используя время от времени Ansible ссылки из сети тебя перекидывают на AWX. Что за зверь такой?  Если просто то AWX это GUI для Ansible. AWX впервые был представлен в сентябре 2017 года - это open source проект, распространяющийся под лицензией Apache-2.0 и являющийся апстримом для коммерческого проекта Ansible Tower. 

AWX ставит своей целью решение тех задач, которые связаны с автоматизацией Ansible в неком окружении предприятия. В небольшой среде с реализованным Ansible вы можете обладать всего одним или парой ключевых людей, которые отвечают за написание и запуск плейбуков для установленного окружения. При таком небольшом сценарии довольно просто узнать кто какие плейбуки запускал и какова самая последняя версия, а также требования к обучению Ansible невелики, поскольку лишь небольшое количество ключевого персонала отвечает за их использование.

По мере масштабирования среды до размеров предприятия то же самое происходит и с операторами Ansible. Когда все те, кто отвечает за исполнение Ansible имеют его установленным на свои собственные машины, причём все они обладают копиями установленных плейбуков, внезапно само управление таким окружением превращается в ночной кошмар! Как вы сможете знать что все применяют самые последние версии плейбуков? Откуда вы узнаете кто что запускал и каков результат? Что если изменения потребуют долгих часов? Можете ли вы передать задания Ansible в команду NOC (Network Operations Center) или это невозможно, так как им потребуется обучение тому как применять Ansible?

AWX ставит своей целью решение всех перечисленных задач, и AWX способен снизить стоимость обучения вашего персонала.

Основные возможности AWX:

  • Интеграция с системами контроля версий (git/mercurial/subversion).
  • Отслеживание статуса выполнения плейбуков в реальном времени.
  • Настройка расписания для автоматического запуска плейбуков.
  • Выполнение нескольких плейбуков в рамках одного workflow.
  • Удаленное выполнение команд без плейбуков (Ansible ad hoc).
  • Поддержка механизма callbackов, позволяющих новым серверам запрашивать конфигурации со своей стороны.
  • Управление Inventory для Ansible, в том числе с возможностью интеграции с платформами AWS/Azure/OpenStack и т.д., а также поддержка собственных скриптов для генерации Dynamic Inventory.
  • Гибкая система разграничения прав доступа. Интеграция с LDAP/SAML/Active Directory и т.д.
  • Встроенная поддержка уведомлений для Email/Slack/PagerDuty/HipChat/MatterMost/IRC.
  • Интеграция с внешними системами агрегации логов: Logstash/Splunk/Loggly/Sumologic.

Рекомендуемые к изменению перед установкой AWX переменные в awx/installer/inventory:

admin_password=password01

-это устанавливаемое по умолчанию значение пароля для пользователя admin - вам он потребуется для самого первого входа в систему, поэтому обеспечьте установку чего- то запоминающегося и безопасного!

Версія на друк

Популярне