Обновить
512K+

Python *

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

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

Сколько на самом деле стоит решённая задача: считаем экономику self-hosted моделей vs API токены

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

Каждый раз, когда заходит разговор "что дешевле — поднять у себя открытую модель или платить за API", его почему-то ведут в ценах за токен. И почти всегда это спор не в тех единицах.

Во-первых, self-hosting — это постоянные затраты, а API — переменные. Значит, ответ зависит не от цены за токен, а от того, насколько плотно вы это железо загрузите. Во-вторых, токены вообще никто не покупает как цель. Покупают решённые задачи. А модели очень по-разному тратят токены на одну и ту же задачу.

И вот что изменилось за последний год: открытые модели догнали топ лидербордов. На SWE-bench Verified DeepSeek V4 Pro берёт 80,6 %, Kimi K3 — 93,4 %, вплотную к лучшим закрытым. То есть во многих сегментах выбор «своё железо vs API» перестал быть выбором по качеству — он стал чисто экономически/операционным. Ниже это то, как я предлагаю его считать.

Читать далее

Новости

Ваш AI-агент не понимает код. Он просто очень уверенно угадывает — поэтому мы создали SLICER

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

AI-агенты отлично решают локальные задачи, но часто теряют связи между частями большой кодовой базы. Из-за этого изменение одной функции может незаметно сломать frontend, backend-роут, сервис, repository, background task или тест.

В статье разбирается CodeSlicer — локальный CLI, MCP-сервер и визуальный анализатор, который строит проверяемый граф влияния проекта. Он связывает функции, классы, DI-провайдеры, HTTP-endpoint’ы, frontend-компоненты и тесты, сохраняя evidence chain, provenance, confidence и причины каждой связи.

Показывается полный pipeline: inventory, extraction, semantic resolution, support packs, unknown regions, mutation testing, runtime observation и impact analysis. Отдельно разобрано, почему система не должна превращать предположение AI в подтверждённое ребро.

На размеченных Python-сценариях протестированы 21 тестовый сценарий, 29 mutation-сценариев, 20 обязательных semantic edges, 0 false positive и 0 false negative. Для TypeScript и frontend-backend bridge проверены 12 сценариев, 15 мутаций и 4 cross-language цепочки с endpoint precision 1.0.

Также рассматриваются интеграции с AI-агентами через CLI, MCP и skills, отличие CodeSlicer от обычных графов кода и дальнейшее развитие проверенного registry библиотек

Читать далее

Демон Лапласа как исполняемая модель: условная энтропия и шесть типов ограничений на предсказание

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

Можно ли построить демона — наблюдателя, который знает состояние системы настолько точно, что будущее для него так же очевидно, как прошлое?

Читать далее

Как отменять задачи в asyncio без зависаний и незавершённой очистки

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

Отмена задачи кажется простой, пока сервис не зависает при остановке, таймаут не оставляет запрос работать в фоне, а CancelledError исчезает внутри обработчика исключений. Разберём, как устроена кооперативная отмена в asyncio, где ставить точки ожидания и как использовать TaskGroup, timeout и shield, чтобы задачи завершались предсказуемо.

Изучить asyncio

Нашёл модель в 8 раз дешевле. Она начала писать иероглифы в русских новостях

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

Нашёл модель в 8 раз дешевле. Она начала писать иероглифы в русских новостях

У меня новостной бот, и каждая новость в нём проходит через LLM: категория, перевод, тон, разбор. Выходит около 936 вызовов в сутки, и в какой-то момент мне захотелось платить за это меньше.

Я перебрал все бесплатные модели OpenRouter на живых промптах, нашёл платную в 8 раз дешевле текущей, обрадовался и выкатил в прод.

Через час в ленте появился заголовок: «Как не,让智能手机 перегревать: советы в жару».

Читать далее

Робот, который звонит в WhatsApp: как я автоматизировал то, что автоматизировать не предполагалось

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

Задача формулировалась в одно предложение: робот должен сам звонить людям в WhatsApp, проигрывать голосовое приветствие, записывать ответ и присылать оператору расшифровку с вердиктом «да / нет / надо посмотреть руками».

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

Зато существует официальное десктопное приложение, которое звонить умеет. И его можно водить за руку.

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

Сразу оговорюсь: по отношению к правилам платформы это серая зона, и я не предлагаю это повторять. Мне здесь интересна чистая инженерия — как автоматизируется то, что автоматизировать не предполагалось. Ограничения и риски честно разберу в конце.

Кода будет много. Всё интересное в этом проекте живёт именно в деталях.

Читать далее

Playwright не спасает от флапающих тестов: разбираемся, как он ждёт на самом деле

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

Локально тесты проходят стабильно, а в CI начинают падать в случайных местах — знакомая картина даже для проектов на Playwright.

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

Читать далее

Я написал ASGI-фреймворк, в котором дерево папок — это и есть API

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

Несколько месяцев пилил pet-проект, который зашёл дальше, чем планировал: файловый ASGI-фреймворк, где дерево папок — это и есть таблица роутов. Сегодня вышла версия 1.0 — с адверсариальным security-аудитом (нашёл у себя pickle RCE и CSWSH), 2329 тестами и нативным async на PostgreSQL. Рассказываю, что внутри и что было больнее всего сделать правильно.

Узнать подробнее об EndoCore

Должны ли библиотеки запрещать уязвимые версии зависимостей?

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

Когда в зависимости обнаруживают уязвимость, очевидное решение — поднять её минимально допустимую версию во всех библиотеках, которые ее используют. Тогда пакетный менеджер не подтянет уязвимую версию даже при новой установке. Сет Ларсон из Python Software Foundation предлагает не делать этого автоматически. По его мнению метаданные библиотеки должны описывать только совместимость, а контроль безопасности сборки оставаться на стороне приложения.

Колонка Сета вызвала спор в Python-сообществе: одни поддержали разделение ответственности между библиотекой и приложением, другие заметили, что безопасность тоже может входить в условия поддержки библиотеки. Мы в CodeScoring подготовили перевод колонки, разбор обеих позиций и наш взгляд на этот вопрос.

Читать далее

Я сделал ASGI-фреймворк, где дерево папок — и есть API

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

Рассказываю, как я сам сделал ASGI-фреймворк, в котором дерево папок заменяет таблицу маршрутов, — и почему это решает проблему расхождения роутов с кодом. Разбираю встроенную безопасную ORM, показываю на примерах, как версионирование превращается в копирование папки, и честно привожу гоночные тесты на реальной конкурентности.

Узнать больше про EndoCore

ИИ для анализа рентген‑снимков грудного отдела

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

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

Полный fine‑tune большой сети на арендованной GPU мне не хотелось: дорого, долго, и есть риск переобучиться на паре десятков тысяч снимков. Поэтому пошёл по пути linear probing — взял тяжёлый предобученный энкодер, заморозил его и обучил только небольшую голову. В итоге macro AUC на валидации вышел 0.9025, обучение уложилось в десяток эпох.

Ниже — как устроен пайплайн, где накосячил с путями к датасету, и почему отказался от горизонтального отражения.

Читать далее

Заставляем Airflow самого заводить задачи в YouTrack без смс и регистрации

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

Работая единственным QA в команде, в обязанности которого активно входит мониторинг, я столкнулась с проблемами тайм-менеджмента: очень много времени уходит на анализ упавших пайплайнов, заведение однотипных задач, поднятие тревоги, отмена тревоги, потому что проблема уже исправляется и прочие прелести тестерской работы. В один прекрасный осенний денек, сидя на окне и думая о нем (мониторинге), я решила - хватит это терпеть. Посидела, погуглила, вспомнила родительские слова “Хочешь сделать что-то хорошо - сделай это сама”. Что ж таков путь.

Читать далее

LLM-судье нельзя верить на слово: как построить надёжный гейт и проверить сами тесты

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

Как перестать доверять LLM-судье на слово и построить безопасную двухконтурную систему оценки?

Внутри статьи:

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

CI-инварианты: как ловить галлюцинации моделей с помощью враждебных фикстур в grounded-judge-gate.

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

Читать далее

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

Я перенёс на Python библиотеку, которой физики пользуются двадцать лет. Перевод оказался самой лёгкой частью

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

Есть код, который физики передают друг другу с 2002 года. Кристиан Мэтцлер из Бернского университета написал набор MATLAB‑функций для расчёта рассеяния Ми, физики, из‑за которой небо голубое, а молоко белое. В 2009-м Стивен Жак обернул его для тканевой оптики, и с тех пор эти полторы сотни строк разошлись по тысячам работ, от атмосферных исследований до лазерной медицины.

Читать далее

Credit Scoring: Одинокое дерево, целый лес и разочарование в нейросетях

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

Введение

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

Ход эксперимента

В качестве датасета были взяты данные кредитного скоринга с https://www.kaggle.com/competitions/GiveMeSomeCredit. Сначала мы обучили решающее дерево, с кросс-валидацией.  График зависимости roc-auc от количества элементов выборки (Ореол вокруг кривой – это дисперсия (разброс) при кроссвалидации):

Читать далее

Как перестать проверять Codex каждые пять минут: мобильные уведомления через ntfy

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

Когда я начал активно использовать OpenAI Codex для длительных задач, я быстро заметил странный парадокс. Агент способен работать самостоятельно десятки минут, но именно человек продолжает каждые несколько минут проверять терминал: не закончил ли он работу. Я решил поменять эту модель взаимодействия. Вместо того чтобы следить за агентом, агент стал сам сообщать, когда моё участие действительно необходимо.

Читать далее

Своя GPT-like LLM по WH40K с нуля. Часть 4: Дообучение на вопрос–ответ (SFT)

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

Привет, Хабр! Меня зовут Владимир, и это четвёртая часть цикла статей по написанию и обучению небольшой decoder-only LLM с нуля.

Данная статья целиком посвящена этапу SFT - дообучению на датасете “вопрос - ответ”, чтобы модель могла вести диалог с пользователем, а не просто дописывать за него фразы.

Читать далее

Начал раздавать бесплатные поддомены на fluxcast.dev и погряз в войне с DNS, гитом и сертификатами

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

Недавно я зарегистрировал fluxcast.dev и понял, что основной домен простаивает без дела. Рассказываю, как я написал свой реестр бесплатных поддоменов на Python через PR на GitHub и с какими подводными камнями DNS, Cloudflare и Git столкнулся.

Читать далее

В CSV было 11 строк, до BI дошло 7. Куда пропали остальные четыре?

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

В исходном orders.csv было 11 строк. До BI-витрины дошло 7, а валовая сумма 4720.30 после применения бизнес-правил превратилась в 2200.30 выручки. Четыре строки не исчезли: каждая попала в rejects с конкретной причиной.

На этом небольшом примере покажу весь путь данных через RAW, STG, CORE и MARTS. Разберём, где меняются строки и суммы, как пережить повторную доставку файла и какие проверки позволяют доверять итоговому дашборду. Внутри MinIO, Postgres и Airflow.

Читать далее

Интеграция компьютерного зрения в АСУ ТП. IEC 61499 + python + CV = OpenFb

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

В июле вышла новая версия OpenFB - открытой среды исполнения для IEC 61499, позволяющая вести разработку на python. OpenFB предназначена для разработки и интеграции приложений компьютерного зрения и ML алгоритмов в АСУ ТП.

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

Читать далее
1
23 ...