Обновить
1024K+

Python *

Высокоуровневый язык программирования

659,51
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Изучаем Python: модуль os для начинающих с практическим домашним заданием

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели37K

Разбираем один из самых полезных встроенных модулей Python — os. Простыми словами о том, как управлять файлами и папками прямо из кода. Пройдем путь от os.mkdir() до написания скрипта для автоматической сортировки. Статья для начинающих, но с упором на практику. В финале — домашнее задание на GitHub с автоматической проверкой решений.

Читать далее

«Просто используй Docker» — мой путь от Whisper к WhisperX

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели36K

Несколько недель назад я опубликовал статью о том, как превратить обычный диктофон в инструмент для расшифровки речи с помощью OpenAI Whisper. Идея была создать бесплатную и приватную систему ИИ диктофона, которая избавляет от необходимости переслушивать аудиозаписи лекций или выступлений. Тогда статья нашла своего читателя, собрав 140 закладок.

В процессе настройки я боролся с несовместимостью библиотек, подбирал нужные версии драйверов и вручную собирал рабочее окружение. В комментариях мне справедливо заметили: «Вместо всей этой возни можно было найти готовый Docker‑контейнер и поднять всё одной командой». Звучало логично, и я с энтузиазмом принял этот совет. Я ведь верю людям в интернете.

Новая идея — не просто расшифровывать речь, а разделять её по голосам — как на совещании или встрече. Это называется диаризацией, и для неё существует продвинутая версия — WhisperX. Цель была проста — получить на выходе не сплошное полотно текста, а готовый протокол встречи, где понятно, кто и что сказал. Казалось, с Docker это будет легко.

Но я заблуждался. Путь «в одну команду» оказался полон сюрпризов — всё сыпалось одно за другим: то скрипт не видел мои файлы, то не мог получить к ним доступ, то просто зависал без объяснения причин. Внутри этой «волшебной упаковки» царил хаос, и мне приходилось разбираться, почему она не хочет работать.

Но когда я всё починил и заставил систему работать, результат превзошёл мои ожидания. Новейшая модель large-v3 в связке с диаризацией выдала не просто текст, а структурированный диалог. Это был настолько лучший результат, что я смог передать его большой языковой модели (LLM) и получить глубокий анализ одной очень важной для меня личной ситуации — под таким углом, о котором я сам бы никогда не задумался.

Именно в этот момент мой скепсис в отношении «умных ИИ‑диктофонов», которые я критиковал в первой статье, сильно пошатнулся. Скорее всего их сила не в тотальной записи, а в возможности превращать хаос в структурированные данные, готовые для анализа.

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

Весь код выложен на Гитхаб.

Зачем покупать ИИ диктофон?

Список докладов с PythoNN в рамках ITGorky

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели17K

Всем привет! Сегодня продолжаем нырять в глубины питона, но в другом формате.

В субботу (20 сентября 2025го) у нас завершилась наша первая бесплатная конференция сообществ Нижнего Новгорода.

На ней у нас был шикарный Python-трек с очень глубокими докладами от наших любимых хабравчан про устройство разных частей интерпретатора и несколькими вводными на смежные темы. Выступали и новички, и «старички» :)

Как по мне — вышло отлично.

Под катом будет полный список докладов и материалов, заходите и смотрите!

Читать далее

Прокачиваем RAG: тестируем техники и считаем их эффективность. Часть 2

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели17K

В прошлой части мы подробно разобрали 11 популярных техник RAG: как они устроены, какие у них есть сильные и слабые стороны, и в каких сценариях они могут быть полезны. Теперь пришло время перейти от теории к практике и посмотреть, как эти подходы показывают себя в деле.

В этой статье мы посмотрим на результаты экспериментов: какие техники оказались наиболее эффективными на датасете Natural Questions, где они приятно удивили, а где — наоборот, не оправдали ожиданий. Для оценки будем использовать фреймворк RAGAS, а также метрики BertScore и ROUGE-2 для анализа релевантности извлечённых чанков и финальных ответов.

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

Читать далее

Qwen3-ASR-Toolkit: бесплатный инструмент для транскрипции аудио любой длительности

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели20K

Команда Alibaba Cloud выпустила Qwen3-ASR-Toolkit — открытый инструмент для транскрипции аудио- и видеофайлов любой длительности. Решение построено на базе модели Qwen3-ASR (ранее Qwen3-ASR-Flash) и устраняет ключевую проблему большинства API для распознавания речи — ограничение по длительности файла.

Читать далее

Парсинг цен и данных о товарах конкурентов на Wildberries

Время на прочтение11 мин
Охват и читатели45K

Всем привет! Ранее я уже писал про парсинг Wildberries, но та статья была довольно узконаправленной и не затрагивала более широкие возможности анализа. Да и с тех пор многое изменилось — тема стала ещё актуальнее, а у читателей накопилось больше вопросов.

Поэтому в этой статье мы разберём тему заново, но уже с акцентом на практическую пользу.

Читать далее

Как запустить свою LLM для инференса. Руководство по запуску: Ollama, vLLM, Triton, LM Studio, llama.cpp, SGLang

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели52K

В этой статье будет приведено практическое руководство по базовой настройке и запуску следующих инструментов для работы с LLM: Ollama, LM Studio, vLLM, Triton, llama.cpp, SGLang.

🔥 Начинаем? 🔥

Создание умных AI-агентов: полный курс по LangGraph от А до Я. Часть 2. Диалоговые агенты: память, сообщения и контекст

Время на прочтение48 мин
Охват и читатели57K

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

Создаем умные системы, которые сами определяют тип сообщения — отзыв это или вопрос — и автоматически направляют в нужную ветку обработки.

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

Читать далее

Расширяем базовый функционал n8n: от RAG до кастомного агента с MCP

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели28K

Компании и энтузиасты стремятся автоматизировать процессы, но не каждый готов писать код с нуля. Поэтому в последние годы особую популярность набрала no-code платформа n8n. С её помощью можно быстро собирать пайплайны различной сложности: от простых чат-ботов до умных ассистентов, которые управляют календарем и напоминают о задачах.  Обычно в статьях про n8n затрагивают только готовые блоки, собирают из них пайплайны автоматизации, но в то же время упоминают об ограниченности использования этой платформы. Действительно, базовых блоков в n8n может не хватать, чтобы закрыть все потребности пользователя, но сегодня я покажу, как можно обойти эти ограничения и расширить базовый функционал n8n.

Привет, Хабр! Меня зовут Музафаров Данил, я Data Scientist в компании Raft. В этом туториале я шаг за шагом покажу: как локально развернуть n8n, как добавить кастомные API и создать полноценного AI-агента с MCP tools с расширенным функционалом. Придется немного писать код, но главное, что это позволит оставить архитектуру решения на n8n, дополнив его кастомными тулами.

Читать далее

Простоту охота навести: как легко тестировать клиент-серверные взаимодействия на примере WebSocket

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели9.2K

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

Привет, Хабр! Меня зовут Максим Попов, я инженер по автоматизированному тестированию внутренних продуктов в Сбере — в том числе SCPL. В этой статье расскажу, как упростить настройку клиент-сервер взаимодействия в рамках фреймворка автотестирования.

Читать далее

Градиентный спуск для новичков: когда ты падаешь, но становишься лучше

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели18K

Задавались ли вы когда-нибудь вопросом, что происходит под капотом обучения, например, линейной регрессии? Если вы до сих пор не нашли ответ на этот вопрос, то эта статья для вас. Сегодня простым языком разберём, что такое градиентный спуск — от интуиции до полноценного обучения линейной регрессии с нуля.

Читать далее

Как написать простейшую нейросеть на python, простыми словами о сложном

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели45K

В мире Data Science написание нейронных сетей, кажется чем‑то очень трудоёмким, доступным для понимания лишь математикам с многолетним опытом. Многие руководства, начинаются со сложных объяснений backpropagation, градиентного спуска и т.п, от которых у новичков складывается впечатление, что написание нейросетей — им не по силам. В данной статье, я хочу развеять подобные убеждения и показать пример, написания простейшей нейронной сети на python. Мы не будем углубляться в теоретические основы высшей математики. Вместо этого, мы просто возьмем данные, напишем код, посмотрим на результат и проанализируем его.

Читать далее

Дженерики в Python, простыми словами

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели27K

Если вы только начинаете изучать Python и слышите слово дженерики, скорее всего в голове сразу каша: «что это вообще такое?». На самом деле дженерики - это очень простая идея. Представьте, что у вас есть коробка. В коробку можно положить игрушки, яблоки, книжки - всё что угодно.

Но иногда вы хотите, чтобы в коробке лежали только яблоки. А иногда - только игрушки. И вот тут вам помогают generics.

Читать далее

Ближайшие события

Тысячи асинхронных задач в секунду в облачных s3 на Rust/Axum/Tokio: шлифуем ржавчину до блеска

Время на прочтение30 мин
Охват и читатели9.7K

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

Читать далее

Как избавиться от проприетарных ETL: кейс миграции на dbt

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели14K

Несколько лет назад наш корпоративный слой данных жил на проприетарных технологиях. Данных было много, а основная СУБД — MPP-система Sybase IQ — долго не обновлялась. Мы регулярно сталкивались с тем, что у кластера «падали» ноды, каталог базы повреждался, порой даже терялись данные, а вендор не спешил выпускать исправления или даже признавать проблему. ETL-процессы работали через IBM DataStage, который также перестал развиваться. Все решения были закрыты, и мы не могли влиять на их улучшение. Vendor lock-in означает, что вы зависите от поставщика: если вендор не поддерживает нужные возможности, развитие замедляется, а долгоживущие ошибки остаются нерешенными. Такое положение становилось критичным.

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

В этой статье рассказываем о том, как мы перешли с проприетарных ETL-инструментов на open-source на базе dbt, какие проблемы решали по ходу внедрения, и как построили экосистему вокруг dbt для автоматизации рутинных задач.

Читать далее

Снятие проклятия размерности: как познакомиться со своими данными

Время на прочтение6 мин
Охват и читатели7.2K

1. Проклятие размерности

Человек эволюционировал в 3 пространственных измерениях, и в них мы себя шикарно чувствуем. В них мы живем, радуемся, грустим, да и все драмы жизни проходят в этих измерениях. Правда в первой половине 20 века Теодор Калуца и Оскар Клейн нашли еще одно измерение, но оно маленькое и его людям не видно. После струнные теоретики, такие как Леонард Сасскинд, Герард т`Хофт, Яу Шинтун, Александр Виленкин  и другие, опять сильно усложнили картину мира, и к 4 пространственным измерениям добавили еще 6 (это минимум), но они все где то не пойми где, и влияют на жизнь только физиков-теоретиков, а остальным n-миллиардам людей на Земле, нет никакого дела до этих измерений, им и в 3 хорошо живется.

Другое дело математика и наука о данных, тут измерений может быть сколько угодно, например вот:

Читать далее

Что если представить habr в виде obsidian-графа?

Время на прочтение2 мин
Охват и читатели44K

Ночью (а точнее уже утром), я не мог уснуть, из-за навязчивой мысли в голове..

А что если спарсить часть статей с хабра и представить их в виде obsidian графа, будет ли это выглядеть, как красивая база знаний?

Читать далее

Что такое эмбеддинги и как с ними работать. Вводная для начинающих

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели49K

В этой статье будет рассказано об эмббедингах и методах работы с ними. Расскажу немного математики и приведу много примеров на Python.

🔥 Начинаем? 🔥

Кольца Барромео и один забавный алгоритмический баг

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели16K

Кольца Барромео — это конструкция из трёх колец, обладающая интересным свойством: эти кольца не сцеплены попарно между собой, но полная конструкция из трёх колец неразделима. Ну или если перефразировать: вся конструкция неразделима, но если любое из колец магическим образом пропадает, то оставшиеся два можно разделить. Единственное известное мне практическое применение этих колец — использование в качестве логотипа пива Ballantine. В прошлом году в моей практике повстречался интересный алгоритмический баг, который у меня ассоциируется именно с этой конструкцией.

Читать далее

Прокачиваем RAG: тестируем техники и считаем их эффективность. Часть 1

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели24K

При про­ектировании RAG-системы инженер каждый раз сталкивается со множеством вопросов: какую базу данных использовать, как организовать получение релевантной информации, да даже выбор эмбеддера может занять приличное время, а это лишь вершина айсберга. Что хорошо работает в одной сфере, например в техподдержке, может полностью провалиться в другой — например, при анализе юридических документов. Поэтому задачей инженера является выявление особенностей предметной области и адаптации RAG системы к ним. Однако, чтобы это сделать, необходимо не только понимать, какие приёмы можно использовать, но и знать насколько они эффективны.

В данной статье мы разберём основные RAG техники, посмотрим их сильные и слабые стороны, сферы применения, а также немного поэкспериментируем. В следующей части статьи мы проведём тестирование этих техник на реальных пользовательских запросах из датасета Natural Questions и оценим качество работы с помощью RAGAS и BertScore, посмотрим на графики и разойдёмся, чтобы обдумать всё написанное. Поэтому предлагаю начать!

Читать далее