Self-healing тесты и локальная LLM

В этой статье расскажу о практическом применении больших языковых моделей (LLM) в сочетании с традиционными инструментами автоматизации Python/Selenium для повышения надежности тестов.

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

В этой статье расскажу о практическом применении больших языковых моделей (LLM) в сочетании с традиционными инструментами автоматизации Python/Selenium для повышения надежности тестов.

Всем привет!
Мы продолжаем работу над нашим Open Source проектом Taigram!
Прошлая статья «Taigram: Начало работы», можно сказать, была посвящена организационным моментам:

Добрый день, друзья!
Это моя первая статья на Хабр да и вообще где-либо поэтому жду от вас полезных комментариев для заполнения пробелов в своих навыках и знаниях. В этой статье попытаюсь подробно указать/рассказать, как я запустил MicroPython на микроконтроллере STM32F411RET6.

Начальный курс по Python пройден. Что делать дальше? Кейс описывает один из возможных шагов развития начинающего python разработчика.
Приложение с интерактивным интерфейсом коммандной строки было переработано в приложение с графическим интерфейсом пользователя.
Ценность кейса в демонстрации подхода к выбру пути развития.
Описанные в кейсе технические решения не являются идеалом и эталоном проектирования. Исходного кода очень мало - это не гайд и не туториал.

На прошлой неделе мы сравнивали селфхарм селфхост решения для speech-to-text на Apple Silicon процессорах. Но что делать, если вы - бизнес, и вам нужно API для транскрибации? Или что делать, если вы - разработчик, и вам просто хочется сделать пет-проект с транскрибацией? Сейчас посмотрим, какие варианты есть на рынке, и какой из них самый лучший (спойлер - однозначного победителя нет).

Всем привет! Меня зовут Миша, я работаю Backend-разработчиком в Doubletapp. В одном из проектов появилась фича по добавлению тегов по интересам. Любой пользователь может создать интерес, и он будет виден всем остальным. Неожиданно (!!!) появились интересы с не очень хорошими словами, которые обычно называют матерными. Встала задача по распознаванию языка с матерными словами, чтобы исключить возможность добавления гадости в наш огород!

В прошлом месяце я уже анализировал самые популярные статьи Хабра за январь, чтобы узнать что вообще происходит в мире. Теперь пришло время посмотреть, изменилась ли картина в феврале. Какие темы остались актуальными, а какие ушли в тень? Давайте разберёмся, чем жил Хабр в феврале 2025 года.
Хочешь пройти собеседование в Яндекс? Без этих структур данных не обойтись!
Разбираем ключевые структуры данных, которые спрашивают на интервью. Только практичные знания, никакой воды! Как работают деревья, графы, хеш-таблицы и очереди? В каких случаях лучше использовать кучу, а когда связный список?
Готов ли ты к техническому интервью? Проверь себя!

Привет, будущий разработчик! Сегодня создадим первое полноценное веб-приложение на Flask с нуля.
Ты, наверное, слышал, что сайты и веб-приложения — это сложно. Что нужно знать кучу языков, писать километры кода и сидеть ночами над багами. Но на самом деле, всё гораздо проще, если у тебя есть правильный инструментарий.
Сегодня мы разберём Flask — лёгкий, но мощный фреймворк для Python, который позволит буквально за пару часов написать веб-приложение с формами, обработкой данных и HTML-шаблонами.

Представьте: вам нужно создать проект с нуля — скажем, веб-приложение для бронирования коворкингов. Вы открываете Telegram, надиктовываете голосовое сообщение: «Сделай SPA на React с бэкендом на Node.js, авторизацией через JWT и интеграцией с Google Maps API. Добавь Docker-конфиг и тесты». Через минуту бот присылает архив. Распаковываете — и вот он, готовый каркас: десятки файлов с продуманной структурой, комментариями, даже примером.env. Фантастика? Уже нет.
Streamlit — это фреймворк для языка программирования Python с открытым исходным кодом, который позволяет создавать интерактивные панели и приложения на базе машинного обучения и делиться ими.
С помощью Streamlit можно быстро превратить модель машинного обучения или обычную программу в одностраничное веб-приложение и управлять им. Фреймворк преобразует результат работы модели в вид, понятный человеку и подходящий для загрузки на сайт.
Некоторые возможности Streamlit:

В прошлой статье я показал, как создать мини-чат с комнатами на FastAPI и WebSockets. Но что, если есть более мощное и удобное решение для Real-time? В этот раз разберем Centrifugo – технологию, которая берет на себя всю работу с WebSockets и масштабированием!
В статье мы разберем теорию, а затем на практике разработаем веб-приложение-опросник, где результаты обновляются в реальном времени без перезагрузки страницы. А в финале – деплой на Amvera Cloud.
Готовы прокачать свои навыки? Тогда вперед!

Как частный инвестор, я всегда ищу способы упростить управление своим портфелем. Особенно меня интересуют высокодоходные облигации. Да, они немного "мусорные", но я не стремлюсь быть финансовым аналитиком в этом или детально изучать каждого эмитента.
Моя цель проста: купить бумаги и получать купоны, то есть стабильный доход. Однако, чтобы избежать неприятных сюрпризов, важно вовремя узнавать новости о компаниях-эмитентах.
Если бы у меня было всего 3–5 облигаций, я могу просто периодически пробивать названия эмитентов в поисковике и смотреть, что о них пишут. Но когда в портфеле 10 и более бумаг, такой подход превращается в рутину, на которую жалко тратить время. Автоматизация здесь может существенно упростить задачу.
Сам скрипт доступен в open-source и уже готов к использованию. Код - на GitHub!

Диффузионные модели перевернули мир генеративного искусственного интеллекта, вытеснив GAN'ы и вариационные автоэнкодеры. Но как они работают? Чем отличаются друг от друга? И как научиться их использовать?
Эта статья — путеводитель для тех, кто хочет разобраться в диффузионных моделях с нуля. В ней вы найдете три подхода к изучению — теория, практика и продвинутая практика.

Во французском сабреддите я наткнулся на пост с интересной гипотезой:
Чем ближе точка к вокзалу, тем хуже там кебаб.
Пост на французском привлёк достаточно большое внимание, учитывая относительно небольшой размер сабреддита; это доказывало, что многие с ним согласны. Впрочем, в комментариях были и критики, рассказывающие истории, противоречащие сформулированной гипотезе.
Я решил, что мне нечем заняться, ведь я вылетевший с учёбы выгоревший безработный с новоприобретённым диагнозом «аутизм», поэтому стоит пожертвовать немного своего времени на благую цель — проведение этого неформального «исследования». В пределах следующих трёх рабочих дней мне на почту точно придёт Нобелевская премия мира и куча рабочих офферов.
Обработка датафреймов: ключевые аспекты и инструменты
Датафреймы — это одна из самых популярных структур данных для работы с табличными данными. Они широко используются в анализе данных, машинном обучении и научных исследованиях. Датафреймы представляют собой таблицы, где данные организованы в строках и столбцах, что делает их удобными для обработки и анализа. Рассмотрим основные аспекты работы с датафреймами.
В последние пару лет RAG (retrieval-augmented generation) стал одной из самых обсуждаемых технологий в области обработки текстов и поисковых систем. Его идея проста: объединить поиск (retrieval) и генерацию (generation), чтобы быстрее находить нужную информацию и создавать более точные тексты.
Рост объёмов данных и информационного шума привёл к тому, что классические методы поиска и генерации уже не всегда справляются с новыми задачами. Например, большие языковые модели без доступа к актуальной информации могут искажать факты, а традиционные поисковики при запросах на естественном языке дают слишком общий результат. RAG решает эти проблемы, добавляя дополнительный "слой знаний" за счёт внешних баз данных, что особенно полезно для чат-ботов, систем вопрос-ответ, рекомендательных сервисов и многих других приложений.
Целью данной статьи является погружение читателя в технологию RAG, а также ознакомление с основными критериями и методами его улучшения. В этой статье мы обсудим, как именно устроен RAG, как правильно оценивать его эффективность и какие существуют техники улучшения – от уже известных методов до совершенно новых решений.

Написать эту статью меня побудил один забавный случай. Он хорошо демонстрирует, что не стоит слепо доверять одному источнику, каким бы авторитетным он ни был. Впрочем, обо всём по порядку.
Когда только начинаешь карьеру разработчика, часто гложет сомнение: верно ли я выбрал язык программирования? Может, он уже устарел, или наоборот — слишком новый и не факт, что перспективный? Легко ли будет найти по нему актуальные книги и уроки? Много ли таких неофитов будет вместе со мной обивать пороги ИТ-компаний через год-два?
Опытным разработчикам тоже порой не хватает знания единственного языка программирования. В какой-то момент появляются специфические заказы и интересные вакансии, где крайне желательно владеть вторым (а то и третьим) языком.
Помочь с выбором языка программирования призваны рейтинги их популярности. Однако тут легко обмануться. Каждый рейтинг составляется по своей методике и даёт разные результаты (порой — весьма неожиданные). В этой статье я постарался сделать более взвешенную оценку популярности языков программирования (далее — ЯП) по нескольким источникам. Подробнее о них и почему это важно — рассказываю ниже.
Индексы популярности
Всё началось с того, что мне попался на глаза свежий рейтинг актуальности ЯП, где в TOP 10 внезапно ворвался Delphi. Пытаясь разобраться в причинах его внезапной популярности в 2025 году, я стал искать методики составления таких списков и нашёл много любопытного. Как обычно, дьявол кроется в деталях.
Индекс TIOBE — известный инструмент мониторинга, показывающий динамику интереса к разным ЯП. Он учитывает частоту поисковых запросов, связанных с ЯП. Для этого каждый месяц в Google, Bing, Yahoo! и Baidu отправляются запросы по определённому шаблону, чтобы отсеивать из выдачи мусор и корректно сравнивать статистические данные. Дополнительно в рейтинге учитывается число образовательных материалов о ЯП: количество видеоуроков на YouTube, книг на Amazon и упоминаний на Wikipedia.

Привет! Это команда Яндекс Практикума. Делимся подборкой от экспертов курса «Python-разработчик» — материалы помогут познакомиться с Django и написать первый код, углубиться в Django ORM и найти ответы на популярные вопросы новичка.
Актуальная версия Django — пятая, но некоторые источники в подборке рассматривают более старые версии. Это не беда, потому что основы фреймворка остаются теми же, кроме того, на старых версиях по-прежнему работает множество проектов.
С появлением больших языковых моделей тема векторного поиска обрела новое дыхание. Компании, которые хотят внедрить архитектуру Retrieval-Augmented Generation (RAG), сталкиваются с вопросом: как выбрать эмбеддинги, которые будут работать эффективно именно с их данными?
Выбор эмбеддинг-модели — это стратегически важное и долгосрочное решение, так как оно определяет качество поиска и производительность системы. Но этот выбор особенно сложно сделать на ранних этапах развития вашего проекта, когда данных для анализа ещё нет. При этом замена модели в будущем может оказаться дорогостоящей и ресурсозатратной.
На первый взгляд, решение принять несложно — заходим на какой-нибудь популярный бенчмарк и берем модель с топа. Но успех на лидерборде не гарантирует аналогичных результатов в специфичных доменах, таких как финансы, медицина или e-com. Без собственного датасета или пользовательской истории выбор модели становится настоящей проблемой.
В этой статье мы представим подходы к качественной оценке эмбеддинг-моделей, применимые даже при отсутствии данных, особенно если вы работаете в специализированной предметной области. Мы рассмотрим несколько способов оценки поведения векторных представлений, которые помогут сделать информированный выбор с опорой на реалии вашего проекта.