Красивая девушка с сухими цветами в волосах

Telegram-бот для создания изображений нейросетью

В общем, кому не хватало Midjourney у нас дома - добро пожаловать в @pixelmuse_bot. Что бот умеет на данный момент: Создавать картинки по текстовому запросу Используется автоматический машинный перевод текста на английский, поэтому запрос может быть практически на любом языке Можно выбрать из 5 моделей: реализм, аниме, киборги, sci-fi окружение, стикеры (по факту под капотом две модели + разные LoRa) Можно загрузить свою фотографию для обработки img2img Можно сделать апскейл результата x1.5. Для апскейла используется нейронка Real-ESRGAN Даю 20 токенов для тестов (20 изображений) с лимитом 10 токенов в день Dev-лог Какое-то время ковырял Stable Diffusion в Автоматик111 и ComfyUI. В один прекрасный депрессивный день решил посмотреть, как работать с сетью напрямую в python. Сделать это можно с помощью библиотеке diffusers от Hugging Face. Написал пятистрочный скрипт и подумал почему бы ради прикола не приделать к нему телеграм бота, и тут понеслось. ...

22 сентября 2023
Ghost in the Shell

Cyberpunk 2023

С другой стороны, а кто из IT-специалистов не мечтал пожить в каберпанк антиутопии? Минцифры опубликовало проект изменений в постановление Правительства РФ от 26 октября 2012 г. № 1101, согласно которым РКН наделяется правом включать в реестр интернет-ресурсов, доступ к которым в России должен блокироваться, сайты с информацией о способах, методах обеспечения доступа к информационным ресурсам и информационно-телекоммуникационным сетям, доступ к которым ограничен на территории РФ. Источники СМИ сообщили, что новый проект постановления Минцифры коснётся сайтов со списками VPN или инструкциями по созданию собственных VPN и прокси-серверов, позволяющих обходить ограничения по запрету.

7 сентября 2023

Xray с XTLS-Reality и Nginx на одном порту

Что делаем? Настроим так чтобы на одном порту 443 висел и nginx с нашими сайтами и xray XTLS-Reality, который работает как прокси для авторизованных пользователей и притворяется валидным сайтом (в примере www.google.com) для всех остальных. XTLS-Reality предназначен для защиты от выявления методом active probing. В отличие от старых протоколов (Shadowsocks, VMess, VLESS, и транспорта XTLS-Vision), определение “свой/чужой” здесь происходит на этапе TLS-хендшейка в момент чтения ClientHello. Если клиент опознан как “свой”, сервер работает как прокси, а если нет - TLS подключение передается на другой хост с TLS (например, google.com), и таким образом клиент (или цензор, желающий методом active probing проверить, что прячется на том конце) получит настоящий TLS-сертификат от google.com и настоящие данные с этого сервера. ...

13 августа 2023

У нас есть ChatGPT дома

В статье опишу настройку web API и web-чат похожего на ChatGPT для LLaMA-подобных моделей. Всё это довольно сносно работает на CPU Ryzen 3600 + 32ГБ ОЗУ. API + веб чат Для настройки нам понадобятся три проекта: llama.cpp - мозг нашей системы gpt-llama.cpp - эмулирует API от OpenAI. Реализовано не всё chatbot-ui - web интерфейс для доступа к моделям OpenAI После установки компонентов должна получиться такая структура: local-chat - корень проекта ├── chatbot-ui ├── gpt-llama.cpp └── llama.cpp ├── main* └── models/your-ggml-model.bin llama.cpp Думаю многие уже попробовали установить и пообщаться с llama-подобными моделями, но в любом случае опишу процесс установки. ...

27 апреля 2023

Как поговорить с LLaMA голосом

Наверное уже все пообщались в текстовом режиме с llama-подобными моделями, в этой заметке расскажу как можно настроить полностью голосовое общение с моделью. Для общения нам понадобятся: whisper.cpp - преобразование голоса в текст silero - синтез речи модель совместимая с llama.cpp Silero TTS По моему Silero лучший синтезатор речи который можно запустить под Linux с довольно приличной скорость на CPU. На хабре есть несколько статей от разработчиков, поищите, интересное чтиво. Пользователи Mac могу пропустить этот шаг и использовать для синтеза Siri. ...

26 апреля 2023

Этика ИИ. Корпорации врут, а мы катимся в пропасть?

Если попытаться спросить ChatGPT о чем-то связанном с насилием, криминалом и т.п. - он ответит, что не будет обсуждать эту тему т.к. это не этично. OpenAI и Microsoft постоянно рассказывают о своих усилиях в области безопасности ИИ. Тот же Google какое-то время назад прикрыл доступ к своей языковой модели после того как пользователи научили её “плохим” вещам. Но так ли всё хорошо с безопасным и этичным использованием ИИ и куда мы идем? ...

23 марта 2023

Подготовка данных для нейронной сети

На волне шумихи вокруг GPT-3 появилось желание покапаться во внутреннем устройстве нейронных сетей и попробовать написать сеть для классификации текстов по категориям/тэгам. Это первая заметка из серии, речь в ней пойдет о предварительной подготовке данных. Зачем необходима подготовка данных? Текстовые данные не могут быть использованы напрямую в моделях машинного обучения, так как в нейронах используются простые математические функции которые работают с числовыми данными. Для подготовки текстовых данных используют так называемое кодирование слов - это преобразование текстовых данных в числовые (векторные) представления, которые затем можно использовать для машинного обучения. Существует много способов кодирования, вот некоторые из них: ...

11 февраля 2023

Живая синхронизация заметок Obsidian

Доступна обновленная инструкция по настройке плагина и CouchDB Для тех кто не в курсе, Obsidian - кроссплатформенная программа для ведения заметок в markdown формате, которую можно использовать для создания личной базы знаний или вашего «второго мозга» по методу Zettelkasten. Как работает метод можно почитать по ссылке. На самом деле Obsidian не обязательно использовать именно как «второй мозг», это просто удобная программа для ведения заметок с большим количеством плагинов. Один минус - Obsidian из коробки поддерживает синхронизацию заметок только через собственный платный сервис. Из плюсов - вся база хранится в виде обычных md файлов которые можно синхронизировать между устройствами через облачные сервисы. У меня изначально синхронизировалось через NextCloud, но в мобильном клиенте NC постоянно возникают конфликты, которые надо разрешать руками. Вообще мобильный клиент да и сам nextcoud бесят, может кто-то знает альтернативы? ...

4 февраля 2023

Автоматизация сборки и публикации блога Hugo

В предыдущей заметке мы установили Drone CI, в этой настроим автоматическую сборку и публикацию блога при пуше в git-репозиторий. После настройки Drone и авторизации в нем вы должны увидеть доступные вам репозитории. Для того чтобы Drone начал обрабатывать пайплайны необходимо активировать репозиторий. Для это в секции Repositories заходим в нужный репозиторий и нажамаем Activate repository. На странице настроек можно отключить вебхуки которые будут отслеживаться, настроить режим приватности, максимальное время выполнения пайплайна и название файла в котором Drone будет искать описание пайплайна (по умолчанию .drone.yml). Нажимаем Save changes. ...

2 февраля 2023

Drone CI

В продолжение заметки “У нас есть github дома” добавим к нашему окружению систему автоматического тестирования и доставки ПО Drone CI. Документацию можно почитать тут https://docs.drone.io/. Из плюсов Drone по сравнению с Jenkins: простота установки, настройки и сопровождения, не надо изучать groovy, всё пишется на yaml. Drone CI состоит из двух сервисов: собственно Drone и ранеров которые будут выполнять необходимые задачи, в даном случае ранеры используют докер хост системы для запуска задач. Сам drone не имеет базы пользователей и использует OAuth внешней системы для авторизации пользователей. Для настройки OAuth перейдите в раздел user/settings/applications на вашем экземпляре forgejo/gitea и в подразделе Authorized OAuth2 Applications создайте новое приложение. В поле Redirect URI укажите адрес вашего drone сервера, например https://drone.example.ru/login. После создания приложения скопируйте client id и secret, они понадобятся ниже. ...

27 января 2023