Собрали в одном месте самые важные ссылкии сделали Тренажер IT-инцидентов для DevOps/SRE
Сегодня поговорим о новой версии Allure Report — Allure 3, а именно о её модульной архитектуре. В ней можно настроить сколько угодно отображений тестовой иерархии в разных форматах; я покажу это на простом примере. В какой ситуации может это быть полезно? Когда с тестами работает несколько команд, обычно удобно, чтобы у каждой был своя классификация тестов. Кто-то хочет, чтобы тесты были организованы по фичам, т.е. близко к требованиям.
WSGI и ASGI — то, на чем стоит весь современный веб на Python. Это стандарты, которые описывают интерфейс между веб-сервером и приложением. Благодаря им сервер и фреймворк не образуют жесткую пару: любой WSGI-сервер запускает любое WSGI-приложение, любой ASGI-сервер любое ASGI-приложение. Uvicorn не знает ничего о FastAPI, FastAPI не знает ничего о Uvicorn, они знают только о том, что передать на вход и что ожидать на выходе.Разберем, как все это устроено.
В статье делюсь опытом создания локального конвейера на базе WhisperX для обработки сотен часов аудиоархива.О чем пойдет речь:Large-v3 на CPU: почему 40 ГБ RAM важнее видеокарты и как добиться стабильной работы без «замерзания» PyTorch.
Во время инференса LLM не выполняется побочных эффектов, вместо этого генерируется последовательность токенов, которые можно интерпретировать как намерение вызвать инструмент. Это напоминает мне ту часть шаблона transactional outbox, в которой намерение сущности (entity) отправить запрос внешней системе записывается в специальную таблицу, а не реализуется сущностью самостоятельно.В статье приведен proof-of-concept модели выполнения, вдохновленной chat completion, в которой управление возвращается вызывающей стороне при необходимости выполнить побочный эффект.
Большая языковая модель это не источник актуальных сведений, а статистическая система, обученная на данных прошлого. Она не обращается к внешним базам знаний и не узнает о новых событиях. Все что она знает было усвоено на этапе обучения и зафиксировано в ее параметрах.
За переводы сонетов Шекспира брались многие мастера и любители. Мне стало интересным провести лексико-семантический анализ нескольких переводов 74 сонета и сравнить их с оригиналом. Я взял авторов, авторитет которых как поэтов и переводчиков вне сомнения Маршака и Пастернака. И двух переводчиков, не известных как поэты - Николая Гербеля и Модеста Чайковского. Я захотел проверить, кто из переводчиков точнее всего передал смысл, ритм и эмоции оригинала, используя алгоритмы машинного обучения.
Хочу поделиться опытом с коллегами - как мы решили одну из наболевших проблем нашей команды разработки – отсутствие полноты данных для тестирования реализованного функционала в условиях ограниченного доступа к реальным данным компании. Если вы работаете с персональными данными, то наверняка сталкивались с такой проблемой.
Расскажу о том, как сгенерировать рандомный лабиринт используя алгоритм Recursive backtracker. Все подробности об алгоритме, структуре кода, асимптотике и итоговых лабиринтах здесь.
Я реализовал Graph RAG систему, которая комбинирует 5 техник из свежих научных статей (KET-RAG, HippoRAG 2, VectorCypher) в единый пайплайн с декларативным Datalog reasoning-движком, полной провенансной трассировкой и типизированным API. Результат: 174/180 (96.7%) на билингвальном бенчмарке из 30 вопросов, оценённых в 6 режимах retrieval. Три режима достигли 100%. В статье — архитектура, 10 уроков оптимизации и эволюция от 38% до 96.7% за 10 итераций.
Дал 100 AI-агентам по 1000 токенов и одну цель — набрать максимум очков. Не программировал ни торговлю, ни кредиты, ни специализацию. Через двое суток агент №23 попросил у агента №91 займ под 15%. К 72-му часу — три банкира, 12 банкротов и коэффициент Джини 0.71. Внутри — код на Python, логи, распределение ресурсов. И честный разбор того в чем я до сих пор не уверен.
В прошлой статье мы разобрали механику событийного цикла asyncio.В этот раз поговорим о задачах, объектах класса asyncio.Task (они же по-простому "таски"). Тема важная, потому что по сути вся работа событийного цикла сводится к постоянному жонглированию задачами: запустить, приостановить, разбудить, завершить. Если понять, как устроена таска изнутри, изрядная доля магии asyncio (как и нелюбви к нему) исчезнет. На десерт шок-контент
В данной статье хочу поделиться своим опытом по абстрактным классам. Думаю это будет полезно как разработчикам, только начинающим свой путь, так и уже имеющим опыт. В материале можно посмотреть, как изящно связать свойства и абстрактные классы с реализацией принципа DRY .Для начал кратко пробежимся по определениями и терминам, и далее ответим на вопросы, которые могут логично вытекать из этих определений.
Если вы разработчик и выбрали для своего проекта Django Framework, но не делали большие миграции на своем проекте, эти советы вам точно пригодятся.
В этой статье будет рассказано о популярных метриках оценки для задач генерации текста: BLEU, ROUGE, METEOR, BERTScore. Рассказ будет сопровождаться визуализацией, примерами и кодом на Python.
За два месяца я перепробовал три ASR-движка, шесть моделей Whisper, адаптивное чанкование, T5-коррекцию и ансамблевое голосование — и большая часть идей оказалась тупиком. В статье — подробный разбор шести тупиков и одной находки: почему GigaAM от Сбера на обычном CPU показывает 3.3% WER на русском, обходя Whisper large-v3-turbo на RTX 4090 (7.9%) в 2.4 раза. С бенчмарками, кодом и честными оговорками.
В этой статье мы разберём, какие механизмы предоставляет Linux для работы с сетью и как на их основе строятся фреймворки и библиотеки, которыми мы пользуемся каждый день. К концу статьи мы напишем минималистичный WSGI-веб-сервер, с помощью которого можно запускать произвольные WSGI-приложения.
А теперь о том, что происходило в последнее время на других ресурсах.
Если вы когда-нибудь сталкивались с задачей запуска сотен изолированных фоновых процессов на одном сервере (будь то парсеры для клиентов, торговые боты или обработчики данных в SaaS), то вы знаете, как быстро всё усложняется. Встречайте: RedTailFox — легковесный оркестратор на Python, который управляет Docker-контейнерами с вашими воркерами на одном сервере. Он сам решает, когда поднять новый контейнер, сам следит за здоровьем слотов и сам себя чинит.
В 2022 году существовал ровно один способ сделать языковую модель «хорошей» — RLHF. Один. Если вы хотели, чтобы ваша LLM отвечала адекватно и хотя бы делала вид, что понимает вопрос, — вам нужны были армия аннотаторов и бюджет уровня OpenAI.Четыре года спустя у нас зоопарк из десятка методов выравнивания, половину из которых можно запустить на одной RTX 4090 за выходные. DPO убрал reward model. SimPO убрал reference model. GRPO и DeepSeek R1 доказали, что RL жив — но в новой форме. Anthropic опубликовала конституцию Claude на ~80 страниц в открытом доступе и сменила парадигму: от правил к причинам.