Обновить
256K+

Python *

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

359,02
Рейтинг
Сначала показывать
Период
Уровень сложности
Формат публикации

Решение обратной задачи рекомендаций: опыт участия в VK RecSys Challenge

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

В декабре 2025 года VK провёл RecSys Challenge LSVD — соревнование по машинному обучению с нестандартной постановкой задачи. Традиционные рекомендательные системы решают проблему "что показать пользователю", но здесь требовалось обратное: для каждого нового клипа определить, каким пользователям он может быть интересен. Такой подход помогает решать проблему холодного старта контента, когда новое видео только появляется в системе и не имеет истории взаимодействий.

Я принял участие в этом челлендже и хочу поделиться своим решением, архитектурой системы и практическими выводами.

Читать далее

Я реализовал паттерн памяти из OpenAI Cookbook в Python библиотеку

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

AI-агент который помнит: Python библиотека по рецепту OpenAI

Устал объяснять агенту одно и то же? Я тоже.

Взял паттерн Context Personalization из OpenAI Cookbook и упаковал в pip install:

from agent_memory import MemoryManager
manager = MemoryManager(storage=SQLiteStorage("./memory.db"))
state = manager.load_user("user_123")
prompt = state.to_system_prompt() # Память уже в промпте

Что под капотом:
— Session vs Global память
— LLM-консолидация (5 заметок → 3, умная дедупликация)
— Блокировка PII и prompt injection
— TTL для временных предпочтений

pip install agent-memory-state
Код: github.com/molchanovartem/agent-memory

Читать далее

RLM-Toolkit: Полное руководство по обработке 10M+ токенов

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

Почему LangChain не справляется с 10M+ токенов? Разбираемся в RLM — новой парадигме обработки контекста с InfiniRetri (100% accuracy на Needle-in-Haystack), CIRCLE-безопасностью и поддержкой 75+ провайдеров. Полный туториал с кодом.

Читать далее

Оценка эффекта релиза, когда изменение затронуло не всех: diff-in-diff и синтетический контроль

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

Когда релиз раскатан не на всех, классическая схема "до" и "после" начинает рушиться: метрика растет или падает одновременно из-за сезонности, внешнего фона и изменений в каналах, а не только из-за продукта. При этом AB теста может не быть, но данные по группам есть почти всегда: по гео, сегментам, кластерам, витринам.

В этой статье разбираю два практических подхода, которые позволяют оценить эффект релиза в таких условиях. Первый - diff-in-diff: сравниваем, насколько изменилась метрика в затронутой группе относительно контрольной, и тем самым вычитаем общий фон, который влияет на всех. Второй - синтетический контроль: строим базовую линию для затронутой группы как сумму метрик нескольких контрольных групп с весами, подобранными так, чтобы до релиза эта конструкция максимально повторяла историю затронутой группы.

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

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

Читать далее

Разработка библиотеки ленивых строк в паре с ИИ

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

Еще одна библиотека строк для Python? Легко - если у вас есть ИИ-помощник.

Рассказываю, что хотел сделать (действительно, ленивые строки), что получилось, как использовал ИИ, с какими проблемами столкнулся, какие выводы для себя сделал.

Читать далее

С помощью Python реабилитировал алкогольную романтику у Довлатова

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

Я проанализировал эпизоды с упоминанием алкоголя в полном корпусе произведений Довлатова и посмотрел, как и для чего он использует алкоголь в рассказах.

Читать далее

Студенческий проект с открытым исходным кодом: «Как мы автоматизировали анализ университетского блэклога»

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

В ходе обучения и прохождения практики в вузе МГУТУ им Разумовского, мы выявили проблему: студенты тратят почти до 40 часов на поиск существующих исследований перед запуском новых проектов. Анализ показал, что многие работы дублируют уже выполненные исследования по AR/VR - технологиям

Началом для разработки нашего проекта V-Avatar послужил анализ научного задела факультета цифровых технологий. Мы интегрировали методы и алгоритмы, которые были уже созданы до нас, вместо того, чтобы начинать с нуля. Эти методы были описаны в данных ВКР:

1)Теоретический фундамент (ВКР за 2025 года): «Применение AR/VR-технологий в обучении сотрудников». Из этого метода был взят концепт моделирования, который стал основой для архитектуры V-Avatar. Мы воспользовались данной моделью для взаимодействия аватаров внутри образовательной среды.

2) Технологическая реализация (ВКР за 2024 год): «Разработка виртуального интерактивного музея на основе WebVR». Из данной работы были позаимствованы методы создания интерактивного 3D-контента. Также подходы к симуляции действий были адаптированы для функционала наших аватаров.

Самый важный алгоритм моделирования из ВКР 2025 года интегрирован в программный модуль src/legacy_methods.py. Это позволило создать не только визуальное решение, но и ссылаться на обоснованные методы оценки вовлеченности пользователей именно в VR-обучение.
Для создания MVP проекта V-Avatar мы выбрали гибкий технологический стек, который позволит быстро масштабировать решение и привлечь open-source контрибьюторов.

Читать далее

Kotlin и Hyperskill: как я искал курс и что получил в итоге. Когда я решил изучать Kotlin, ожидал, что найти хороший...

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

Kotlin и Hyperskill: как я искал курс и что получил в итоге.

Когда я решил изучать Kotlin, ожидал, что найти хороший курс будет просто: язык популярный, используется в Android и бэкенде, вокруг много материалов. Искал менторов и упирался в людей которые знаю java и вроде как используют в работе Kotlin. Это одновременно пугало и заинтересовывало, я решил поступить как мне казалось правильным, найти готовый курс  — особенно если хочется не “смотреть видео”, а именно учиться через практику и задачи.

Я перепробовал разные форматы обучения (платные и бесплатные), поэтому в этот раз подход был простой: найти платформу, где есть структурированная программа и много практики. В итоге я добрался до Hyperskill (hyperskill.org). Это не реклама — просто личный опыт, кому-то он может сэкономить время.

Как я пришёл к ресурсу.

Изначально искал курсы по Kotlin на привычных площадках. На Stepik в тот момент не нашёл того, что мне подходило по структуре (возможно, сейчас ситуация лучше). Видео-курсы на крупных “известных сайтах” сознательно не рассматривал: мне удобнее формат “прочитал → сделал → получил проверку”.

Дальше — обычный путь через поисковик и сравнение нескольких платформ. Из того, что выглядело цельно и практично, больше всего зацепил Hyperskill. Отдельно сыграло роль то, что платформа связана с JetBra…. (то есть ребята явно понимают, как устроена экосистема вокруг Kotlin и IDE).После регистрации быстро становится понятно: платформа активно ведёт к подписке.Раньше в сети встречались статьи про возможность оформить бесплатную подписку на полгода, но это устаревшая информация — сейчас такой опции нет (по крайней мере, в том виде, в каком её описывают старые гайды).

Читать дальше →

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

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

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

Я всячески люблю, когда разработка идёт предсказуемо – и многое для этого делаю.  

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

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

Легко ориентироваться в других сервисах. Иногда нужно залезть в сервис коллег, или поддерживаешь несколько сервисов. Никаких проблем – структура везде одинаковая, всё знакомо, не нужно тратить время на раскопки.

Быстрый старт. Стартуете новый сервис? Полчаса – и он готов. Никаких лишних приседаний.

Единые практики. Шаблон определяет, не только структуру, но и то, как мы, например, делаем ретраи, какие у нас зависимости. как устроен circuit breaker, обработка ошибок и т.д.    

Лучшие практики – в одном месте. Если появляется что-то классное, мы добавляем это в шаблон и новые сервисы сразу это наследуют.     

Обсервабилити, логирование, работа с секретами – готово из коробки. И меньше шансов, что кто-то забьёт на логирование до лучших времён»:)    

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

Просто экспериментировать. Создал веточку от шаблона – и прикручиваешь свою новую махарайку, не тратя время на базовую структуру.

Унификация линтинга. Конфиги линтеров лежат в шаблоне. Ничего настраивать не нужно, а код-ревью идёт быстрее – обо всём уже однажды договорились и зафиксировали.

Читать дальше →

Как я отучил нейросеть писать «Я коммуникабельный» и заставил её проходить HR-фильтры

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

Сейчас каждый второй джун пытается генерировать сопроводительные письма через ChatGPT.

И каждый первый рекрутер научился их детектить за секунду.

Стандартный ответ LLM выглядит так:

Читать далее

Сколько городов в России начинаются на букву К?

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

Именно этот вопрос возник у нас в процессе игры в "Города" пока мы ехали из Екатеринбурга в Тюмень, а названия городов то и дело заканчивались на "К". В тот момент город Курган был назван уже 25 раз. И нас озарило... Спарсим данные с RuWiki и посмотрим сколько городов в России начинаются и заканчиваются на букву К!

Читать далее

Memory Is All You Need: Активная память для трансформеров — мой новый подход к долгосрочным зависимостям в ИИ

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

Переосмысливаем память в ИИ: от пассивного контекста к активной, "живой" системе. Мой проект MemNet с Hebbian-графом и "сновидениями" решает задачи долгосрочных зависимостей. Код на GitHub + эксперименты внутри!

Читать далее

Раздолбайский дух Sanic. Как выглядела версия 18.12.0 Обновлял свои сэмплы простеньких API-сервачков. Версия на Sanic...

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

Раздолбайский дух Sanic.

Читать дальше →

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

5 случаев, когда Fine-tuning лучше RAG Все говорят "RAG для всего". Но есть кейсы, где fine-tuning выигрывает — и это...

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

5 случаев, когда Fine-tuning лучше RAG

Читать дальше →

STAC — знакомство: Новая эпоха в работе с данными о Земле (часть 1)

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

Информационный хаос в геопространственной сфере

Задумывались ли вы, как в эпоху, когда мы можем мгновенно найти любую информацию в интернете, поиск спутникового снимка конкретного поля, леса или города за определённую дату до сих пор напоминает квест? Всего несколько лет назад мир геопространственных данных представлял собой хаотичный ландшафт изолированных архивов, каждый со своим уникальным форматом данных, структурой папок, проприетарным API и системой метаданных. Чтобы проанализировать один и тот же регион по данным разных спутников, учёным и инженерам приходилось тратить до 80% времени не на сам анализ, а на «добычу» и приведение данных к единому виду. Эта проблема интероперабельности (совместимости) была главным тормозом для развития целых направлений: от оперативного мониторинга чрезвычайных ситуаций до долгосрочного изучения климата.

Именно из этой «боли» родилась идея SpatioTemporal Asset Catalog (STAC) — Каталога пространственно‑временных активов. Изначально это была не инициатива госорганов или крупных корпораций, а практический ответ сообщества разработчиков и аналитиков на ежедневные сложности.

Материал будет интересен молодым специалистам в области ДЗЗ — будущим геоинформатикам, экологам, data scientist'ам. Знакомство с STAC перестаёт быть опциональным, это становится базовой цифровой грамотностью в области геоинформатики и наук о Земле, таким же необходимым инструментом, как, например, умение работать с SQL для backend‑разработчика. Это язык, на котором будет говорить «цифровая копия» нашей планеты, и те, кто освоит его первыми, получат ключ к решению самых амбициозных задач XXI века.

Читать далее

Тестирую Claude Code на написание белых модов к игре. Процесс: обсуждение, сбор данных по структуре игры и установке...

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

Тестирую Claude Code на написание белых модов к игре.

Процесс: обсуждение, сбор данных по структуре игры и установке модов, написание кода и деплой.

С первым модом для WoT справился. Тестирую дальше. Кому-то полезна будет потом информация о процессе, выкладывать или лишнее?

Читать дальше →

Дистрибутивные схемы, ч.2

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

Борис Цирлин

Продолжается рассмотрение класса дистрибутивных схем - подкласса схем, не зависящих от скорости, начатое в ч.1. Этот подкласс является промежуточным между параллельно-последовательным, рассмотренным в упомянутой статье и полумодулярными схемами которым посвящена статья "Полумодулярные схемы"

Все эти подклассы были описаны в книге "Автоматное управление асинхронными процессами в ЭВМ и дискретных системах, вышедшей под редакцией В.И.Варшавского в 1986 г. из которой и здесь заимствуются их формальные определения. Подсчитано количество дистрибутивных схем, состоящих из двух и трех элементов. Определены и подсчитаны неизоморфные схемы этого подкласса.

Читать далее

Метрики для задач NLP. Часть 1. Классификация, NER, Кластеризация

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

В этой статье будет рассказано о популярных метриках для NLP-задач: классификации текста, NER и кластеризации. Рассказ будет сопровождаться визуализацией, примерами и кодом на Python.

🔥 Начинаем 🔥

Масштабирование LLM с помощью Golang: как мы обслуживаем миллионы запросов LLM

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

Хотя экосистема LLM в основном ориентирована на Python, мы нашли Go исключительно подходящим для производственных развертываний. Наша инфраструктура на базе Go обрабатывает миллионы ежемесячных запросов LLM с минимальной настройкой производительности. Помимо хорошо документированных преимуществ Go (см. отличное изложение Роба Пайка о преимуществах Go), три возможности оказались особенно ценными для нагрузок LLM: статическая проверка типов для обработки выходных данных модели, горутины для управления параллельными вызовами API и интерфейсы для построения составных конвейеров ответов. Вот как мы реализовали каждую из них в нашем производственном стеке.

Читать далее

Как разделить строку в Python: «split()» и альтернативы для разработчиков и аналитиков данных Разделение строк —...

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

Как разделить строку в Python: «split()» и альтернативы для разработчиков и аналитиков данных

Читать дальше →