Справочник Программиста
6.37K subscribers
1.29K photos
376 videos
64 files
1.62K links
По рекламе - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Предложить идею: @it_start_suggestion_bot
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека TextAttack в Python

Библиотека TextAttack предназначена для атаки, защиты и дообучения моделей обработки естественного языка (NLP).

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

Основные возможности библиотеки:
🔵Атака на NLP-модели
🔵Генерация текстов
🔵Обучение и защита моделей
🔵Работа с Hugging Face

➡️Установка библиотеки: pip install textattack

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Код для распознавания объектов на изображении на Python с использованием модели YOLOv5s

Для распознавания объектов на изображении в коде используются библиотеки opencv и torch.

➡️Установка библиотек: pip install opencv-python torch torchvision

import cv2
import torch


def detect_objects(image_path):
# Загружаем предобученную модель YOLOv5s
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)

# Считываем изображение с диска
image = cv2.imread(image_path)

# Преобразуем изображение из формата BGR в RGB, т.к. модель YOLOv5 работает с RGB
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

# Передаём изображение в модель для детекции объектов
results = model(image)

# Отображаем изображение с выделенными объектами
results.show()


# Запрашиваем у пользователя путь к изображению
image_path = input("Введите путь к изображению: ")

# Вызываем функцию обнаружения объектов
detect_objects(image_path)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤‍🔥2
👀 Библиотека outlines в Python

Библиотека outlines предназначена для контролируемой генерации текста с LLM.

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

Основные возможности библиотеки:
🔵Генерация структурированных данных: Позволяет создавать JSON, списки, числа, даты и другие структуры в соответствии с заданными шаблонами.
🔵Обратимое кодирование токенов: Позволяет точно контролировать, какие токены могут быть сгенерированы.
🔵Работа с различными моделями: Поддерживает OpenAI, Mistral, Llama.cpp и другие LLM.
🔵Генерация с ограничениями: Позволяет задавать конкретные правила вывода (например, только числа в определённом диапазоне).

➡️Установка библиотеки: pip install outlines

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤‍🔥2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
PyBoy — это эмулятор игровой консоли Nintendo Game Boy, написанный на Python. Позволяет запускать и анализировать ROM-файлы, а также взаимодействовать с играми программно.

Поддерживает работу как в оконном режиме (GUI), так и в фоновом режиме, что делает её полезной для автоматического тестирования, машинного обучения и ретро-гейминга.

Основные возможности:
🔵Эмуляция Game Boy и Game Boy Color: поддерживает большинство игр для этих платформ.
🔵Управление через Python: можно отправлять команды эмулятору, менять ввод, читать состояние памяти.
🔵Сохранение и загрузка состояния: позволяет сохранять прогресс и загружать его позже.
🔵Доступ к VRAM, регистрам и памяти: подходит для реверс-инжиниринга игр.
🔵Headless-режим: эмулятор может работать без графического интерфейса.
🔵Использование в машинном обучении: подходит для обучения агентов, играющих в игры.

➡️Установка библиотеки: pip install pyboy

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2❤‍🔥1
Haystack — это фреймворк для построения систем поиска и ответов на вопросы на основе нейросетей и больших языковых моделей (LLM).

Разработан компанией deepset и предназначен для обработки естественного языка (NLP), включая:
🔵Поиск по документам (Dense и Sparse Retrieval)
🔵Ответы на вопросы (Extractive & Generative QA)
🔵Кластеризацию и анализ текстов
🔵Обогащение данных с помощью LLM
🔵Создание чат-ботов с подключением к API LLM (например, OpenAI, Hugging Face)

Основные возможности:
🔵Retrieval-Augmented Generation (RAG): Позволяет объединять генеративные модели (например, GPT) с поисковыми движками, что улучшает точность ответов.
🔵Многомодальные модели: Поддержка не только текстовых, но и мультимодальных данных (текст + изображения).
🔵Гибкость и модульность: Можно использовать различные бекенды для хранения данных (Elasticsearch, FAISS, Weaviate, Qdrant) и кастомизировать пайплайны.
🔵Подключение LLM: Встроенная поддержка OpenAI, Hugging Face, Llama, Mistral и других моделей.

➡️Установка библиотеки: pip install haystack-ai

📱 Репозиторий
⚙️ Документация
Примеры

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍2🔥2
👀 Библиотека PySpark в Python

Библиотека PySpark — это API для Apache Spark, который позволяет эффективно обрабатывать большие данные и решать задачи машинного обучения.

Предоставляет удобный интерфейс для работы с распределёнными вычислениями.

Основные возможности библиотеки:
🔵Работа с большими данными: Позволяет обрабатывать огромные объёмы данных, используя кластеры компьютеров.
🔵Высокая производительность: Благодаря использованию параллельных вычислений, обработка данных выполняется быстрее, чем при использовании обычного Python.
🔵Гибкость и поддержка Python: Поддерживает библиотеки Python, такие как Pandas и NumPy, что упрощает обработку данных.
🔵Поддержка SQL: Можно выполнять SQL-запросы к данным, хранящимся в формате DataFrame.
🔵Интеграция с MLlib: Поддерживает машинное обучение через библиотеку MLlib, что делает его мощным инструментом для Data Science.

➡️Установка библиотеки: pip install pyspark

📱 Репозиторий
⚙️ Документация
Примеры

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для извлечения аудио из видео на Python

Для извлечения аудио из видео в коде используется библиотека moviepy.

➡️Установка библиотеки: pip install moviepy

from moviepy.editor import *

# Загружаем видеофайл
video = VideoFileClip(r"Путь к видео")

# Извлекаем аудио из видео
audio = video.audio

# Сохраняем аудио
audio.write_audiofile("audio.mp3")


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤‍🔥2
text-extract-api — это инструмент, предназначенный для высокоточного преобразования изображений, PDF и офисных документов в текст в формате Markdown или структурированные JSON-документы.

Построен на основе FastAPI и использует Celery для асинхронной обработки задач, а Redis — для кэширования результатов OCR.

Основные возможности:
🔵Локальная обработка без облачных зависимостей: Использует PyTorch-базированные OCR и модели Ollama, которые настраиваются через docker-compose, обеспечивая конфиденциальность данных.
🔵Преобразование PDF/Office в Markdown и JSON: Обеспечивает высокую точность распознавания, включая табличные данные, числа и математические формулы, с использованием различных стратегий OCR, таких как Marker, LLama3.2-vision, Surya-OCR и Tesseract.
🔵Улучшение результатов OCR с помощью LLM: Модели LLama помогают исправлять орфографические ошибки и другие неточности в тексте, полученном после OCR.
🔵Удаление персональных данных (PII): Инструмент может использоваться для удаления личной информации из документов.
🔵Асинхронная обработка задач: Использование Celery для распределенной обработки задач.
🔵Кэширование с помощью Redis: Позволяет легко кэшировать результаты OCR перед обработкой LLM.
🔵Гибкие стратегии хранения: Поддерживает различные варианты хранения, включая Google Drive и локальную файловую систему.
🔵CLI для управления задачами: Предоставляет командную строку для отправки задач и обработки результатов.

➡️Установка:
git clone https://github.com/CatchTheTornado/text-extract-api.git
cd text-extract-api


📱 Репозиторий
💬 Демо

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека PyWebIO в Python

Библиотека PyWebIO позволяет создавать веб-интерфейсы без необходимости писать HTML, CSS или JavaScript.

Упрощает процесс разработки веб-приложений, предоставляя удобные функции для взаимодействия с пользователем.

Основные возможности библиотеки:
🔵Вывод текста, изображений, таблиц и графиков
🔵Ввод данных с различных элементов формы (текстовые поля, кнопки, переключатели и т. д.)
🔵Загрузка и скачивание файлов
🔵Чат-подобные диалоги и уведомления
🔵Поддержка асинхронных задач
🔵Запуск в разных режимах: встраиваемый сервер, FastAPI, Flask, Django

➡️Установка библиотеки: pip install pywebio

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤‍🔥3👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Код для распаковки zip-архива на Python

Для распаковки архива в коде используется стандартный модуль zipfile.

import zipfile


def unzip_file(zip_path, extract_path):
# Открытие zip-файла в режиме для чтения
with zipfile.ZipFile(zip_path, 'r') as zip_ref:
# Извлечение содержимого zip-архива
zip_ref.extractall(extract_path)


if __name__ == '__main__':
unzip_file('example.zip', '')


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤‍🔥2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Python Tutor – это онлайн-инструмент для визуализации Python-кода.

Помогает понять, как работает программа, отображая пошаговое выполнение кода и изменения в памяти.

Основные возможности:
🔵Пошаговое выполнение кода – можно увидеть, как изменяются переменные и структуры данных на каждом этапе.
🔵Графическое представление памяти – показывает, какие объекты хранятся в памяти и как они связаны.
🔵Поддержка нескольких языков – кроме Python, поддерживает C, C++, Java, JavaScript и другие.
🔵Режим совместной работы – позволяет делиться кодом с другими и совместно анализировать его.
🔵Интерактивный режим – можно менять код и сразу видеть, как изменится выполнение.

🔗 Python Tutor

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4❤‍🔥2🤨1
👀 Библиотека MPLD3 в Python

Библиотека MPLD3 связывает Matplotlib с D3.js, позволяя конвертировать графики Matplotlib в интерактивные веб-графики.

Упрощает встраивание визуализаций в веб-приложения без необходимости писать код на JavaScript.

Основные возможности библиотеки:
🔵Конвертация графиков Matplotlib в HTML + JavaScript (D3.js)
🔵Интерактивность — поддержка наведения, масштабирования, выделения данных.
🔵Плагины — добавление интерактивных элементов, таких как всплывающие подсказки.
🔵Легкость интеграции — позволяет сохранять графики в виде HTML-файлов или внедрять их в веб-страницы.

➡️Установка библиотеки: pip install mpld3

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4🔥2
Код для удаления метаданных Excel-файла на Python

Для удаления метаданных из Excel-файла в коде используется библиотека openpyxl.

➡️Установка библиотеки: pip install openpyxl

import openpyxl


def remove_metadata(file_path, output_path):
# Загружаем Excel-файл
wb = openpyxl.load_workbook(file_path)

# Удаляем метаданные документа
wb.properties.creator = None # Удаляем информацию о создателе
wb.properties.lastModifiedBy = None # Удаляем информацию о последнем редактировавшем
wb.properties.title = None # Удаляем заголовок документа
wb.properties.subject = None # Удаляем тему документа
wb.properties.description = None # Удаляем описание документа
wb.properties.keywords = None # Удаляем ключевые слова
wb.properties.category = None # Удаляем категорию документа
wb.properties.contentStatus = None # Удаляем статус контента

# Удаляем определенные имена (если есть)
for name in list(wb.defined_names): # Перебираем именованные диапазоны
del wb.defined_names[name] # Удаляем каждое определенное имя

# Сохраняем файл без метаданных
wb.save(output_path) # Сохраняем изменения в новый файл
print(f"Метаданные удалены. Файл сохранен как {output_path}") # Выводим сообщение об успешном удалении


if __name__ == "__main__":
remove_metadata("input.xlsx", "output.xlsx")


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥3
👀 Библиотека translators в Python

Библиотека translators — это удобный инструмент для работы с онлайн-переводчиками в Python.

Позволяет использовать API популярных сервисов перевода без необходимости регистрироваться и получать ключи API.

Основные возможности библиотеки:
🔵Поддержка множества онлайн-переводчиков.
🔵Простота использования (не требует API-ключей).
🔵Поддержка многопоточного перевода.
🔵Возможность парсинга оригинального ответа от сервисов.

➡️Установка библиотеки: pip install translators

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥2