Обновить
256K+

Python *

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

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

Своя GPT-like LLM по WH40K с нуля. Часть 1: токенизируем Империум

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

Привет, Хабр! Меня зовут Владимир, и я давно хотел погрузиться во вселенную Warhammer40K. Для погружение во вселенную я решил обучить LLM на лоре Warhammer40K. И чтобы было интереснее, код этой LLM я решил написать сам, на голом pytorch (ну почти).

Данная статья - первая в цикле статей по созданию и обучению GPT-like LLM с нуля. В них я постараюсь рассказать, как работают Decoder-only модели, как обучить небольшую LLM, сколько это заняло у меня времени.

Читать далее

Квантование ломает вызов инструментов не так, как показывает BFCL: проверил на MCP-серверах

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

Как на самом деле квантование ломает вызов инструментов? Собрал бенчмарк QuantMCP, протестировав модели на 4 ГБ VRAM не на синтетике, а на реальных схемах MCP-серверов. Главный инсайт: популярные бенчмарки вроде BFCL систематически врут - корреляция их оценок с реальным падением качества оказалась отрицательной (-0.755). На живых схемах модели ведут себя иначе: Llama-3.2-1B начинает возвращать саму JSON-схему вместо вызова или галлюцинирует имена инструментов, а Qwen3-0.6B выдумывает несуществующие таблицы в SQLite. Также показал, что сложность схемы не гарантирует большую деградацию, а выбор кванта «по таблицам» может привести к обратному эффекту.

Читать далее

Ваш бот всё ещё дёргает Telegram каждую секунду? Чиним архитектуру: вебхуки на FastAPI в контейнере

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

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

Long Polling — это первый способ. Бот в бесконечном цикле долбит getUpdates на серверы Telegram: «есть что‑нибудь? а сейчас? а сейчас?». Telegram, надо отдать ему должное, держит соединение открытым и отвечает не мгновенно, а когда появляются апдейты — поэтому polling и называется long. Но суть не меняется: инициатор — вы, соединение висит постоянно, и весь этот механизм живёт внутри одного вашего процесса.

Webhook — это почтальон. Вы один раз говорите Telegram: «вот мой HTTPS‑адрес, стучись сюда». Дальше при каждом новом сообщении Telegram сам делает POST‑запрос на ваш эндпоинт с JSON‑апдейтом внутри. Нет сообщений — нет запросов. Нет запросов — нет расхода ресурсов.

Для пет‑проекта на пять пользователей разницы никакой, поллинг даже удобнее — не нужен домен и сертификат. Но как только бот становится частью нагруженной системы, вебхуки выигрывают по всем фронтам: апдейт прилетает мгновенно, а не в конце очередного цикла опроса; входящий трафик — это обычные HTTP‑запросы, которые можно балансировать между несколькими инстансами; и главное — бот превращается в обычный веб‑сервис, к которому применим весь стандартный инструментарий: Nginx, healthcheck'и, метрики, горизонтальное масштабирование.

Читать далее

Как я разработал легковесный Guardrails для русского языка

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

В этой статье расскажу о том как я воплотил в реальность свою идею разработать легковесный prodaction guardrails. Расскажу что такое Guardrails, далее поделюсь основными компонентами lite-guardrails, его архитектурой, этапами разработки, настройкой observability, а также созданием документации по проекту.

🔥 Начинаем 🔥

Что будет, если доверить стандартизацию логов лингвисту

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

Логирование часто считают второстепенной задачей. Но когда сервисов становится десятки, оказывается, что качество логов влияет на разработку не меньше, чем качество кода.

Меня зовут Александра, и я ML-инженер в RUTUBE TECH. В этой статье расскажу, как мой лингвистический бекграунд помог создать единый стандарт логирования для всей платформы.

Читать далее

Параметризованные отчёты в CSV без таймаута

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

Эта идея появилась у меня давно.

Когда мы внедряли BI в крупном банке, я заметил одну вещь: больше всего внедрению радовались руководители. У них появлялись дашборды, графики, показатели, визуальная картина происходящего.

А вот люди, которые каждый день работали с данными, не всегда были в таком же восторге.

BI хорошо показывает, что что-то изменилось: появилась аномалия, просел показатель, выросло значение, изменилась динамика. Но после этого почти всегда возникает следующий вопрос: почему так произошло?

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

Причин может быть много: ошибка, поздняя загрузка, изменение записей задним числом, редкое событие, особенность расчёта. Чтобы это проверить, нужно смотреть строки, сравнивать выгрузки, пересчитывать показатели и иногда просто руками разбирать, что попало в отчёт.

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

Для таких задач пользователи всё равно часто уходили в Excel: добавляли формулы, сверяли расчёты, сравнивали текущую выгрузку с предыдущей.

Так появилась первая версия программы: она формировала отчёты в Excel и хранила на сервере историю выгрузок.

Читать далее

Ленивые импорты в Python 3.15: как PEP 810 ускоряет старт приложений

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

На PyCon US 2026 Руководящий совет Python рассказал о новых возможностях Python 3.15. Среди них — явные ленивые импорты (PEP 810): модули теперь можно загружать не при старте программы, а только в момент первого обращения. Я решил разобраться, как это работает, и измерить производительность в PyCharm.

Читать далее

RAG для закупок: Qdrant и LlamaIndex в локальном контуре

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

Привет Хабр! Меня зовут Владимир, и недавно я решил изучить новую (для себя) технологию - LlamaIndex. А тут и задачка подвернулась - надоело копаться в Положении о закупках, поэтому понадобился RAG для ответов по ФЗ-44, ФЗ-223, ну и локальному положению.

В этой статье разберу, как создать простенький RAG, не выходящий из локального контура, на базе LlamaIndex + Qdrant, напишем к нему API и UI на Gradio. Поехали.

Читать далее

Как я решал задачу сортировки зашифрованных строк

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

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

Читать далее

Как быстро собрать полезный инструмент: транскрибатор видео с помощью вайб‑кодинга

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

После рабочих встреч часто остаются записи. В моем случае это записи Яндекс Телемоста.

Запись есть, но пользоваться ей не всегда удобно. Если нужно что‑то вспомнить, приходится открывать видео, перематывать, искать нужный кусок, переслушивать. Если нужно передать встречу другому человеку, одного видео обычно мало.

У меня часто бывает такой сценарий: нужно передать программисту контекст по задаче. Можно скинуть запись встречи и написать: «посмотри, пожалуйста». Но человеку придется самому смотреть видео, искать важные места, понимать, где обсуждение, где решение, где задача.

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

Идея была простая: загрузить видео встречи и получить транскрипт, протокол и DOCX, который можно отправить дальше.

Первую рабочую версию получилось собрать через Codex примерно за 30 минут.

Читать далее

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

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

MCP упростил жизнь разработчикам: теперь у AI-агентов есть единый способ подключаться к инструментам и сервисам.

Но у этой стандартизации есть обратная сторона — каждый MCP-сервер становится новой точкой доверия и потенциальной атакующей поверхностью.

В статье разбираю:

-почему у LLM нет чёткой границы между данными и инструкциями -как tool poisoning, indirect prompt injection и sampling abuse работают на уровне MCP -почему даже “безобидные” документы и описания инструментов могут приводить к выполнению команд -какие реальные атаки уже зафиксированы в экосистеме MCP

как индустрия пытается закрыть это через gateways, sandboxing и OAuth-архитектуры

Также показываю практическую проверку на уязвимом MCP-стенде и результаты детекции вызовов инструментов на своем сканере BarkingDog.

Читать далее

Гибель богов. Fable и ещё 10 LLM реорганизуют код. Сравнение

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

Это подробный разбор одного эксперимента. Я взял god node из реального LangGraph агента и попросил 5 американских и 6 китайских моделей сначала предложить, как её распутать, а потом оценить предложения друг друга. Дальше тремя разными способами пытался понять, кому из них в этом деле верить.

Читать далее

Промпт против скилла: прогнал библиотеку промптов Anthropic и скилл grill-me

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

Пять промптов, один злой скилл и парсер Хабра: полевой отчёт не-разработчика о двух часах в Claude Code

Читать далее

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

Действительно богатые сообщения в Telegram-ботах: разбираем Rich Messages

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

Всем привет!

Очень долгое время разработчики Telegram-ботов довольствовались двумя способами форматирования сообщений: HTML и Markdown. Оба этих способа делали одно и то же: добавляли простое форматирование в обычный текст.

Для большинства задач этого было достаточно, но в какой-то момент обычного HTML и Markdown может не хватать.

В недавнем обновлении Telegram Bot API 10.1 эту проблему решили, добавив Rich Messages. Обзор которого я и сделаю в статье.

Читать далее

Переоценённый король

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

Самая вычислительно прожорливая индустрия в истории считает на языке, который медленнее C примерно в 70 раз и занял 26-е место из 27 по энергоэффективности. Разбираемся, как Python стал королём ИИ, во сколько обходится его корона — в микросекундах, гигаватт-часах и удвоенном труде инженеров, — и почему новые территории (on-device, edge, локальный инференс) уже отвоёвывают компилируемые языки, в первую очередь Swift. С цифрами, ссылками на первоисточники и разбором честных контраргументов.

Читать далее

Оптимизация потребления памяти в ML-библиотеке LANCETNIC

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

Оптимизация потребления памяти в ML-библиотеке LANCETNIC

Недавно я столкнулся с проблемой: моя библиотека lancetnic при обучении на больших текстовых датасетах просто перегружала оперативную память. На ноутбуке с 16 ГБ RAM модель не могла обучиться даже на 25 тыс. строк. Я начал разбираться и нашёл пару причин критического перерасхода памяти.

Читать далее

Ваш ИИ‑агент ведёт на вас досье. Я превратил его в RPG‑лист персонажа

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

Привет! Началось всё с дурацкого вопроса. Я который месяц живу в Claude Code — ставлю задачи, ругаюсь, прошу переделать, снова ругаюсь. И тут до меня дошло: каждая моя реплика лежит на диске. Вообще каждая. Каждое «сделай», каждое «проверь», каждый капс в три часа ночи — всё это тихо копится в JSONL‑файлах в домашней папке. У меня таких логов набралось на 200 тысяч слов за полтора месяца. Это, на минуточку, две «Мастер и Маргариты».

И вот сижу я, смотрю на эту гору данных и думаю — а как я вообще выгляжу со стороны машины? Не «хороший я или плохой», а буквально: какими словами командую, в котором часу наиболее опасен, сколько раз прервал модель на полуслове. Досье же готовое. Осталось его вскрыть.

Так за сутки диалога родился Prompt Warrior — опенсорсный скилл для Claude Code и других харнесов, который превращает локальные логи сессий в геймифицированный психологический портрет: титул, уровень, 74 ачивки с редкостями как в Стиме, шесть шкал характера и биография, которую пишет сама нейросеть.

Читать далее

Как поиск работы превратился в задачу автоматизации

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

Надоело каждое утро вручную обходить 5+ площадок — написал агрегатор на Python. Собирает вакансии с HH, Habr Career, GeekJob и Telegram-каналов, убирает дубли, присылает в Telegram. Код открытый.

Читать далее

Новинка: «Инженерия данных. Паттерны проектирования»

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

Приветствуем, Хабр.

Мы стараемся лицензировать в издательстве «O’Reilly» и переводить для вас фундаментальные книги, в том числе, по формирующимся парадигмам и подходам к разработке. Одним из наиболее успешных базовых изданий такого рода была книга «Основы инженерии данных» Джо Риса и Мэта Хоусли, вышедшая в середине 2024 года (допечатка – январь 2026). Желая развить эту тему, мы издали и вторую, возможно, не менее фундаментальную книгу «Data Engineering Design Patterns», которую написал для издательства «O’Reilly» Бартош Конечны. Русское издание вышло в конце июня и называется «Инженерия данных. Паттерны проектирования». Автор считает, что в дисциплине инженерии данных можно выделить такие же многоразовые и универсальные шаблоны проектирования типичных решений, как и в традиционном программировании. То есть, он берётся повторить в этой области фундаментальный труд «Банды четырёх», который в середине 1990-х привёл к появлению всем известной книги «Design Patterns». Ранее мы размещали статью с примерами вычленения паттернов проектирования в области инженерии данных — это был перевод, а оригинал статьи написал сам Бартош Конечны, собираясь обосновать готовящуюся книгу и очертить её тематическое поле. Под катом рассмотрим, какие именно темы вошли в новую книгу.

Читать далее

okama-mcp: подключаем ИИ-ассистента к портфельной аналитике по Model Context Protocol

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

okama MCP бесплатно подключает ИИ-ассистента (ChatGPT, Claude, Gemini) к финансовому движку и данным проекта okama: реальные расчёты доходности, риска и прогнозов вместо выдуманных чисел и галлюцинаций.

Читать далее