Абьюзер СhatGPT 💄 REBORN
9.29K subscribers
326 photos
49 videos
58 files
169 links
ЕСЛИ БЕРЁТЕ МОИ ПРОЕКТЫ - УКАЗЫВАЙТЕ АВТОРА
Download Telegram
🖥 В целом мой курс будет начинаться с предложения скачать вот такой вот софт. Это не обязательно но многим может упростить их путь в начале:

1) Поможет скачать последнюю актуальную версию IDE под ОС пользователя;
2) А также Python из последних актуальных релизов.

Будут и рекомендации по правильной установке.

📱 Будет кросс-платформа. Софт сам определяет, на какой платформе запущен, от этого и делает выбор, для какой платформы качать установщик".

Страничку с choco я еще заполню командами. Сейчас там уже есть вкладки (медиа, разработка, веб-разработка и т.д.) с командами для экспресс-установки рабочих инструментов. В одну строчку можно установить все те же IDE, Python, Node JS, драйвера, кодеки и даже Steam :D


🧠 На третьей страничке - ссылки на ресурсы, которые явно помогут в обучении, особенно на начальном этапе. Постарался собрать там и RU/Eng источники, чтобы всем все было понятно.

Пока что так. .exe под Windows мб дам сюда сегодня-завтра.
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Интересный OCR-проект, который буквально только что увидел.

MORT — это бесплатный real-time переводчик, который работает поверх любой игры. 🤯

Он сканирует текст прямо с экрана и мгновенно выдает перевод. Идеально для JRPG и визуальных новелл, у которых нет перевода на нужный Вам язык.

🚀 Главные плюсы:

- Перевод "на лету" через OCR;
- Удобный игровой оверлей;
- Полностью бесплатно.


У меня установлена Guild Wars 2. Проверял на ней - для статичного текста вроде квестов и диалогов он подойдет. Правда, придется потратить время на настройку области захвата. Но если вы английского не знаете - этого того стоит :)

⭐️ Смотрим на крутой open-source проект на GitHub.
❤1🥰1
🗿 Сделали сайт и хотите показать кенту? Или нужно выводить картинку с подключенной к локальному ПК камеры?

Не проблема, есть ngrock 🖥 (если не хотите возиться с настройками роутера).

🚀 Ngrok — это удобный инструмент, который позволяет временно сделать ваш локальный сервер доступным через интернет. Это очень полезно, если вы:

- Разрабатываете сайт или приложение и хотите показать результат друзьям или заказчику до развертывания.
- Тестируете вебхуки или API-интерфейсы.
- Хотите быстро проверить работу вашего сервиса вне вашей локальной сети.

👨‍💻 Как это работает?

Вы запускаете локальный сервер (например, сайт на Flask или Node.js), затем запускаете ngrok и получаете публичный URL, по которому любой пользователь в интернете сможет получить доступ к вашему локальному серверу.

Например:

ngrok http 8080


Теперь ваш локальный сервер на порту 8080 доступен через URL, который сгенерирует ngrok (например, https://abcd1234.ngrok.io).

✨ Можно делиться своим шедевро-сайтом, скамом, фишингом и т.д. с миром...
❤1
🚀 Парни, код для свапа лиц между двумя фото. При первом запуске подкачает модельку.

import requests
import cv2
import os
from insightface.app import FaceAnalysis
from insightface.model_zoo import get_model

app = FaceAnalysis(name='buffalo_l')
app.prepare(ctx_id=0, det_size=(640, 640))


def download_model(url, model_path):
if not os.path.exists(model_path):
print(f"Загрузка модели с {url}...")
response = requests.get(url)
response.raise_for_status()
with open(model_path, 'wb') as file:
file.write(response.content)
print(f"Модель сохранена как {model_path}")


model_url = "https://huggingface.co/ezioruan/inswapper_128.onnx/resolve/main/inswapper_128.onnx?download=true"
model_path = "inswapper_128.onnx"

download_model(model_url, model_path)

swapper = get_model(model_path)


def swap_face_between_images(source_image_path, target_image_path, output_image_path):
source_img = cv2.imread(source_image_path)
if source_img is None:
print(f"Ошибка: Не удалось загрузить изображение-источник по пути: {source_image_path}")
return

target_img = cv2.imread(target_image_path)
if target_img is None:
print(f"Ошибка: Не удалось загрузить изображение-цель по пути: {target_image_path}")
return

print("Анализ лиц на изображении-источнике...")
source_faces = app.get(source_img)
if not source_faces:
print("Ошибка: Лица на изображении-источнике не найдены.")
return
source_face = source_faces[0]

print("Анализ лиц на изображении-цели...")
target_faces = app.get(target_img)
if not target_faces:
print("Ошибка: Лица на изображении-цели не найдены.")
return
target_face_to_replace = target_faces[0]

print("Выполнение замены лица...")
result_img = target_img.copy()
result_img = swapper.get(result_img, target_face_to_replace, source_face)

cv2.imwrite(output_image_path, result_img)
print(f"Изображение с замененным лицом сохранено как: {output_image_path}")


if __name__ == "__main__":
path_to_source_photo = 'rojers.jpg'
path_to_target_photo = 'stark.jpg'
output_filename = 'swapped_result.png'

if not os.path.exists(path_to_source_photo):
print(
f"Файл источника не найден: {path_to_source_photo}. Пожалуйста, создайте его или укажите правильный путь.")
elif not os.path.exists(path_to_target_photo):
print(f"Файл цели не найден: {path_to_target_photo}. Пожалуйста, создайте его или укажите правильный путь.")
else:
swap_face_between_images(path_to_source_photo, path_to_target_photo, output_filename)


requirements.txt:

opencv-python
onnxruntime
insightface


Чем лучше качество исходных фоток, тем лучше будет результат.
❤2
🐳 Я иногда даю тут проекты, которые Docker-ready. Вы спрашиваете, как запустить... И клиенты тоже иногда интересуются, как это запустить на своем сервере...

Так вот, полный список команд с объяснениями (Linux!!!):

1) Установка и проверка:

# Обновляем список пакетов
sudo apt update

# Устанавливаем Docker
sudo apt install -y docker.io

# Запускаем и добавляем Docker в автозагрузку
sudo systemctl start docker
sudo systemctl enable docker

# Устанавливаем Docker Compose
sudo apt install -y docker-compose


Чтобы проверить, что все сделали четко:

docker --version
docker-compose --version


Должно показать версии Docker и Docker-compose.

2) Разворачивание, запуск контейнера.

После того, как вы установили это все (делать нужно 1 раз(!!!)), нужно перейти в директорию с файлами проекта (где лежат Dockerfile, docker-compose.yml).

Пример:
cd /root/dialog_bot/


После этого, пишите команду:

sudo docker-compose up --build -d


Если сделали все четко, контейнер соберется и сразу же будет в работе.

Вот что делают "флажки":

- up: Создает и запускает контейнеры.
- --build: Принудительно пересобирает образ перед запуском. Это полезно, если ты внес изменения в Dockerfile или файлы проекта.
- -d: Запускает контейнеры в фоновом (detached) режиме.

Просмотреть логи с контейнера после можно по команде:

sudo docker-compose logs -f


3) А что на Windows?

Чтобы запустить на Win 10, 11, нужно:

1. Перейдите на официальный сайт Docker и скачай установщик для Windows.
2. Установите Docker Desktop:
- Запустите скачанный установщик.
- Следуйте инструкциям на экране. Очень важно: убедитесь, что выбрана опция "Use WSL 2 instead of Hyper-V" (Использовать WSL 2 вместо Hyper-V), если она доступна и твой Windows 10 это поддерживает (версия 2004 и выше, сборка 19041 и - выше). WSL 2 обеспечивает лучшую производительность. Если опции нет или твоя система старее, Docker Desktop может использовать Hyper-V.
- Установка может потребовать включения функций "Контейнеры" и "Подсистема Windows для Linux" (WSL). Установщик обычно предлагает сделать это автоматически или дает инструкции.

3. Запусти Docker Desktop после установки. Иконка кита появится в системном трее. При первом запуске может потребоваться некоторое время на инициализацию. Убедись, что Docker Desktop показывает, что он запущен (иконка кита в трее статична и не анимирована).


Важно: каждый раз, когда захотите собрать контейнер на Win 10, 11, нужно запускать Docker Desktop!

Дальше можете прямо в IDE, в папке с проектом в консоли писать:

docker-compose up --build -d


И все. Команды тут те же, что и на Linux.

Полезно?
❤3👍2
Camera.rar
16.3 KB
В ТикТоке еще не показывал, сначала решил кинуть сюда. Интересный, как мне кажется, проект, который делает из Вашей веб-камеры камеру видео-наблюдения, которая отправляет уведомления в Телеграм.

Применение придумаете сами. Хочу сюда еще прицепить распознавание лиц. Тогда можно будет цеплять к электронному замку из Али и вешать в подъезде, чтобы открывать двери в квартиру. Но пока так.

В боте через инлайн-кнопки можно включать/выключать мониторинг, а также выбирать режим: фото или видео. Фото делает фото с камеры раз в 30 секунд, если обнаруежает в кадре человека/собаку (у меня есть пес, поэтому прицепил для прикола). Правда, собака распознается по принципу "не человек = пес". Точное определение можно докрутить, если нужно. Видео же пишется с момента, как человек попал в кадр, до момента как вышел. Само собой, распознается количество людей/собак в кадре.

Берите, допиливайте под свои нужды, знакомьтесь :)
❤2
🚀 Все, должно работать.

Скачать можно тут.

Думаю, не стоит объяснять, почему вес такой большой. torch, модели и т.д., весит все это не мало...

В целом, тестируйте. Создал еще три вкладки:

- "Дорисовка кадров" - задел на будущее. Уже работаю над этим. Думал, засунуть в эту версию, но очень не стабильно, пока что;

- "Статус" - здесь вы узнаете, видит ли софт вашу видеокарту, на чем будет происходить работа - CUDA или же процессор. Для работы CUDA НУЖНО ОБЯЗАТЕЛЬНО УСТАНОВИТЬ CUDA Toolkit (‼️) Об этом сказано и в приложении, и ссылка там тоже есть. После установки, перегрузите систему, и если у вас карта Nvidia, у которой есть CUDA ядра - все заработает быстро;

- "О приложении" - общее описание приложения с моими контактами, ссылкой на CUDA Toolkit и предупреждением, что его нужно установить для корректной и быстрой работы.

😳 На будущее, хочу оптимизировать размер приложения, а также добавить:

- ту самую дорисовку кадров, чтобы делать видео более плавными;
- возможность не только ставить маркеры на фильтрах, но и регулировать интенсивность каждого "ползунками";
- модифицировать область предпросмотра, чтобы можно было сравнить результат до/после в одном окне;
- сделать общие настройки и перенести их в отдельную вкладку, чтобы не перенасыщать интерфейс;
- добавить возможность удалить фон с изображений, видео.


Пока что план таков. Когда будет - не понятно, ибо я 1, работы много, а это проект не коммерческий, так что занимаюсь им только когда есть время и силы... И все правки явно не 5-ти минутные.

😳 Надеюсь, вам понравится и у вас заработает!

P.S. тестировал перевод 60 FPS FHD видео в 4К, конечно, долго, на моей RTX 2070 SUPER, но это и ожидаемо. Порядка 3-4 минут на 5 секунд.
❤1
main.py
7.5 KB
🚀 Для тех, кто работает с User-bot'ами может быть полезно.

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


Получаем:

linked_chat_id

через
telethon.tl.functions.channels.GetFullChannelRequest


Который принимает в качестве параметра channel идентификатор канала (аналогично JoinChannelRequest – имя пользователя, ID, объект сущности и т.д.) и возвращает детальную информацию. Запрос GetFullChannelRequest возвращает объект типа messages.ChatFull. Этот объект является контейнером и имеет сложную структуру.

Ключевыми для нашей задачи являются следующие его компоненты :

- full_chat: Этот атрибут содержит объект ChannelFull (для каналов), который, в свою очередь, хранит расширенную информацию о самом канале, включая искомый linked_chat_id.
- chats: Это список, содержащий объекты сущностей (User, Chat, Channel) для основного канала, а также для всех связанных с ним чатов (включая группу обсуждения, если она есть) и упомянутых пользователей.


Идентификатор связанной группы обсуждений хранится в атрибуте linked_chat_id объекта full_chat (т.е., response.full_chat.linked_chat_id). Этот ID является "маркированным" идентификатором Telegram, который уже включает префикс, указывающий на тип сущности (например, -100... для каналов/супергрупп).

👨‍💻 Правда, лучше делать это на Pyrofork. Но там уже разберетесь, кому нужно.
🖥 Короткий скрипт опишете, что изображено на фото:

from transformers import BlipProcessor, BlipForConditionalGeneration
import torch
from PIL import Image

processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-base")
model = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-base")

image_path = "img_4.jpg"
image = Image.open(image_path)

inputs = processor(images=image, return_tensors="pt")

with torch.no_grad():
output = model.generate(**inputs)

description = processor.decode(output[0], skip_special_tokens=True)

print("Image description:", description)


requirements.txt:


transformers
torch
Pillow