Обновить
256K+

Python *

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

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

Я реализовал паттерн памяти из 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 контрибьюторов.

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

Дистрибутивные схемы, ч.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 и интерфейсы для построения составных конвейеров ответов. Вот как мы реализовали каждую из них в нашем производственном стеке.

Читать далее

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

Trustworthy experimentation для B2C: как перестать угадывать в A/B‑тестах

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

В продуктовой аналитике легко дойти до того момента, когда экспериментов много, а доверия к результатам все меньше и меньше: тесты закрывают “когда стало понятно”, p-value проверяют чуть ли не каждый день (принимая преждевременные решения), MDE забывают фиксировать, а денежные метрики зашумлены так, что выводы получаются, мягко говоря, спорные.

В этой статье я показываю практический каркас для более надежных A/B-тестов в B2C: как делать анализ мощности и размера выборки для конверсии и ARPU, как интерпретировать кривую мощности анализа теста и trade-off между MDE, длительностью и доступным трафиком, и почему ratio-метрики вроде выручки на сессию часто лучше голого ARPU.

Отдельно разбираю линеаризацию ratio-метрик: как привести их к user-level значениям, чтобы применять стандартные тесты корректнее и стабильнее.

Читать далее

Использование библиотеки spaCy для поиска сущностей в тексте

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

Снова приветствую всех читателей Хабр.

В предыдущей статье был приведен пример создания кода проекта для задачи автоматизации обработки данных, в результате чего получилось подготовить нужную информацию по модели данных ЛОЦМАН: PLM. Эти данные планируется использовать для построения механизмов обработки поисковых запросов пользователей к базе ЛОЦМАН:PLM — в частности, для распознавания сущностей в тексте запроса. Это позволит понимать, на какие объекты модели данных ссылается пользователь: изделия, их параметры, типы документов и так далее.

Для решения новой задачи я решил опробовать возможности библиотеки spaCy, в которой сущности можно распознавать на основе заранее заданных паттернов. В ходе экспериментов с библиотекой и её модулями EntityRuler и SpanRuler я столкнулся с рядом особенностей, и в данной статье делюсь накопленным опытом и наработками — надеюсь, они окажутся полезными и для вас.

Читать далее

11 Python-скриптов, которые изменят вашу рутину

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

Готов поспорить, вы кодите на Python достаточно давно, чтобы чувствовать себя уверенно... ровно до того момента, как открываете терминал в понедельник утром и думаете: «Должен же быть способ получше, чтобы автоматизировать весь этот бардак».

Хорошие новости: он есть.

После 4 с лишним лет создания автоматизаций, отладки катастроф, которые я сам же и устроил, и написания скриптов, которые каким-то образом выставляют меня кибер-волшебником в глазах друзей, далёких от Python, я отобрал 11 чрезвычайно практичных и редких Python-скриптов, которые сделают ваш ежедневный рабочий процесс гладким, как свежеустановленный дистрибутив Linux.

Поехали.

Читать далее

Борьба с дисбалансом классов. Ансамблевые и комбинированные методы

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

Привет, Хабр! На связи KozhinDev и ml-разработчик Приходько Александр. Это четвертая часть цикла о борьбе с дисбалансом классов. Предыдущие статьи:
- В первой статье мы рассказали про суть проблемы дисбаланса классов и стандартные методы борьбы с ним;
- Во второй статье обсуждались методы undersampling - удаление данных из распространенного класса;
- В третьей статье рассматривались методы oversampling - генерация примеров редкого класса.

В данной части мы рассмотрим комбинированные и ансамблевые методы библиотеки Imbalanced Learn.

Читать далее

Запускаем бота на основе ChatGPT, DeepSeek и Grok в Телеграм за вечер

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

Рассказываю, как создать чат‑бота в Телеграме на основе ИИ для интернет-магазина. Нам понадобятся арендованный сервер, API-ключи от нейросетей и базовые знания Python. По итогу у вас будет работающий Телеграм-бот, который 24/7 отвечает на вопросы о доставке, оплате и помогает с выбором товаров. Материал ориентирован на админов уровня джун и на технически подкованных маркетологов. 

Читать далее

Изоморфные схемы

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

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

Читать далее

LLM-клиент с MCP – дорогой и неэффективный подход в разработке

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

В наше время тяжело представить разработку цифровых продуктов, в которые хоть в какой-то степени не включили так называемый ИИ на больших языковых моделях (LLM). И я вовсе не против, но у меня вызывают вопросы подходы разработчиков к способам внедрения интеллектуальных инструментов в свои продукты.

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

Давайте кратко разберем схему работы какого-то нашего приложения с официальным LLM-клиентом (например, OpenAI) + MCP:

Читать далее