Обновить
1024K+

Python *

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

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

Я прочитал статью про 9 AI-ревьюеров — и сломал свой бюджет на токены

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

Текст в ленту: AI-агент пишет код. Другой AI-агент его ревьюит. Первый фиксит замечания. Ревьюер проверяет фикс. 9 параллельных субагентов, 18 000 токенов в минуту каждый, и вопрос, который никто не задаёт: а кто проверяет ревьюера?

Читать далее

STAC — знакомство: Универсальные браузеры и управление доступом к пространственным данным (часть 3)

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

В первых двух статьях мы разобрали основы спецификации STAC (SpatioTemporal Asset Catalog), её объектную модель и философию, превращающую разрозненные архивы геоданных в единую, машиночитаемую «библиотеку». Мы увидели, как STAC описывает каталоги (catalog), коллекции (collection), элементы (item) и их ресурсы (assets), создавая универсальный язык для работы с геопространственной информацией.

В комментариях были затронуты две темы, которые просили рассмотреть в новых статьях — семантическая паутина и универсальные браузеры, которые требуют постепенного перехода от теории к практике. Действительно, какая польза от идеально структурированного каталога, если с ним неудобно или невозможно работать? Поэтому, прежде чем углубиться в онтологии, мы рассмотрим инструменты взаимодействия с STAC.

Эта статья посвящена клиентской стороне экосистемы — STAC-браузерам, а также ключевому аспекту их работы в корпоративной среде — безопасному доступу к данным через STAC-API. Мы разберём, как устроен универсальный браузер, и представим нашу реализацию стека STAC-сервера с распределённой системой управления доступом IAM (Identity and Access Management), где каждый запрос, от просмотра метаданных до скачивания тайла, проходит через цепочку авторизации.

Читать далее

Замыкания, декораторы и nonlocal в Python: Путешествие от переменной до элегантного кода

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

Python славится своей гибкостью. Мы можем передавать функции как аргументы, возвращать их из других функций и даже "записывать" внутрь них состояние. Но как это работает под капотом? И при чем тут странное слово nonlocal?

В этой статье мы проследим эволюцию: начнем с глобальных переменных, разберемся с замыканиями (closures), поймем магию nonlocal, а затем соберем всё это вместе, чтобы понять, как работают декораторы — один из самых элегантных механизмов Python.

Читать далее

Система рекомендаций для изображений: пример на Python и CLIP

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

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

Читать далее

Делаем простой сервис для подписания документов по СМС

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

Привет, Хабр. Компаниям часто приходится подписывать договоры и акты с клиентами. Полноценный ЭДО — это долго и дорого для простых задач, а сканы по почте и личные визиты — неудобны.

Закон № 63-ФЗ разрешает использовать простую электронную подпись (ПЭП). Это обычный код из СМС на телефон. Такой способ подтверждает согласие клиента и подходит для большинства гражданских договоров.

В статье расскажем, как собрать на Python сервис для подписания документов. Вы сможете встроить его в свои ИТ-процессы.

Читать далее

5 фатальных ошибок при работе с Pandas (и как их избежать)

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

Pandas — швейцарский нож дата-аналитика. Пара строк, и данные отфильтрованы, сгруппированы и готовы к работе. Но часто бывает так: изящный скрипт, летавший на тестовом датасете, на реальных объемах превращается в тормозящего монстра, который воет кулером и выплевывает MemoryError.

Почему так происходит? Главная беда — наши привычки из чистого Python. Циклы for, apply и построчная обработка идут вразрез с архитектурой Pandas, построенной поверх массивов NumPy.

В этой статье разберем 5 самых частых (и фатальных) ошибок при работе с DataFrame. Посмотрим, как безобидные решения убивают производительность и память, и научимся переписывать код так, чтобы всё работало быстро, элегантно и «по-пандасовски». Спойлер: циклов не будет.

Читать далее

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

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

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

Но на практике её часто используют поверхностно: «добавим флип, поворот и color jitter».

В этой статье разбираем аугментации глубже:
— два режима аугментаций (in-distribution и out-of-distribution)
— почему нереалистичные трансформации могут улучшать обобщающую способность
— когда аугментации начинают вредить
— как строить устойчивый пайплайн аугментаций

Материал основан на ~10 годах практики обучения моделей компьютерного зрения (на работе, при написании научных статей, в ML соревнованиях) и ~7 годах разработки библиотеки Albumentations.

Читать далее

Шаблонный сервис на FastAPI

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

Я всячески люблю, когда разработка идёт предсказуемо – и многое для этого делаю.
Давно хотел написать пост о важности шаблонного сервиса, но не было хорошего примера под рукой. И тут мой коллега выложил наш шаблонный сервис на FastAPI, который мы долгое время использовали и развивали.

Так зачем же нужен шаблонный сервис?

Читать далее

Как я поймал Трансформер на читерстве: гроккинг, математика и Mechanistic Interpretability

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

Феномен Grokking и Mechanistic Interpretability — главные тренды в исследованиях лабораторий уровня OpenAI и Anthropic. Я решил потрогать эти концепции своими руками на уровне тензоров. Цель казалась тривиальной: заставить кастомный микро-Трансформер (всего 1М параметров) выучить базовую арифметику с нуля. Однако вместо математического гения я получил ленивого мошенника. Эта статья — инженерный детектив о том, как нейросети пытаются нас обмануть (Specification Gaming), и как вскрытие Attention-матриц помогает поймать их за руку.

Вскрыть Трансформер

Почему мы запретили нашему агенту работать 24/7

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

AI-индустрия пытается создать идеальных, неутомимых рабов. Но неутомимость — это иллюзия, которая ведет к коллапсу моделей в проде. Хотите, чтобы ваш AI не тупел через три месяца? Дайте ему поспать.

Читать далее

От OCR до ADE: как машины научились не просто читать, а понимать документы

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

Ещё 10 лет назад машина видела в документе просто набор пикселей. Сегодня она понимает структуру страницы, читает таблицы, графики и рукописи — и автоматически извлекает нужные данные. Разбираем как это работает под капотом и почему это меняет целые индустрии.

Читать далее

Разбор заданий по аналитике или как Яндекс отнял почти 6 часов моей жизни

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

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

Боже, как я ошибался.

Читать далее

Computer Vision модель в борьбе с галлюцинациями LLM. Оправданный оверинжиниринг?

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

Проект PhotoMentor создавался как ИИ-ментор для фотографов. Механика простая: пользователь загружает снимок, а под капотом Gemini выступает в роли арт-директора — анализирует композицию, работу со светом, цветовую гармонию и выдает детальный фидбек с оценкой.

С главной проблемой Vision-моделей я столкнулся в первый же день закрытых тестов. Я скормил Gemini свой тестовый снимок: крупный портрет собаки, положившей морду на лапы.

Модель уверенно выдала:

Читать далее

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

Наблюдаемость LLM-агентов: Часть 2. Разработка и отладка графа

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

Привет, Хабр! Меня зовут Владимир и это вторая часть материала о трассировке LLM-агентов. В первой части мы настроили инфраструктуру: подняли LangFuse, организовали трассировку и научились управлять промптами как кодом. Если вы ещё не читали — рекомендую начать с неё.

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

Читать далее

Простые проблемы с RAG, которые мы решали в ИИ-стартапе

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

Предыстория. Ну как ИИ-стартап, в общем-то обычный SaaS но с ключевыми задачками в бизнес-процессах для LLM. 

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

На первом этапе архитектура ИИ-слоя выглядела очень просто и типично:

user request ⭢ RAG retrieval ⭢ LLM ⭢ answer

В прототипе все работало отлично. Но после запуска в реальном продукте начались первые проблемы. Именно тогда этот стартап и попал ко мне.

Читать далее

Тёмная сторона крипты, аномалии и управление тысячами роботов

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

Перед вами третья и последняя часть моей статьи про конференцию алготрейдеров в Москве. Часть 1 была про инфраструктуру, а часть 2 про практическое применение ИИ.

Третья часть будет о последствиях. Перед вами будут четыре доклада на одну тему:

* неэффективности,
* уязвимости,
* масштабирование систем.

А ещё в статье интересная торговая идея с дисбалансом внутри синтетического инструмента — целой корзины акций Мосбиржи.

Всё плохо?

Наблюдаемость LLM-агентов: Часть 1. Трассировка LangGraph и версионирование промптов с LangFuse

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

Привет, Хабр! Меня зовут Владимир и в последнее время я занимаюсь разработкой агентов на LangGraph. Отладка LangGraph-агента - это отдельная боль: когда граф начинает жить своей жизнью, а LLM уходит в бесконечные циклы, понять, что случилось, становится сложно. В этой статье я покажу, как связать LangGraph с LangFuse для трассировки и покажу как управлять промптами как кодом (версионирование и миграция).

Читать далее

Между tail и ELK: пытаюсь собрать логи с нескольких серверов одной командой

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

Я студент, который только начинает заходить в devops‑тематику. Сам я не админ и не держу в проде десяток серверов, поэтому решил не выдумывать «боли» из головы, а посмотреть, на что реально жалуются люди в интернете.

Одна жалоба повторялась достаточно часто: «Когда что‑то падает, приходится обходить несколько серверов, смотреть логи по отдельности и пытаться сложить картину вручную. ELK/syslog решают, но ради пары сервисов это перебор.»

После этого я решил собрать небольшой прототип LogRanger — CLI‑утилиты, которая по SSH забирает логи с нескольких серверов и открывает их в lnav одной командой. Ниже коротко расскажу, какую проблему хочу закрыть и что именно делаю.

Читать далее

Эволюция Telegram-бота на локальной LLM от болтуна до мини-игр, генерации фото, возможности выбора модели

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

Хочу рассказать о том, как я создавал tg бота на локальной LLM Ollama и с какими проблемами я столкнулся. Бот написан на python и библиотеке telegram.

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

Модели я подбирал под свой компик: 5070 и 32 гб оперативы. Сервера своего нету, поэтому бот работает только когда я дома.

Бот продолжает развиваться. Следить за обновлениями и новыми фичами можно в моем Telegram-канале: https://t.me/rocet_0

Изучить историю

Автобусы в Петербурге или GTFS по-русски: успеть за 15 минут

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

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

Делаем свой яндекс транспорт?