Обновить
805.1

Python *

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

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

Как мы сократили объем данных в 10 раз, не повредив пользовательскому опыту, или переезд Postgres → ClickHouse

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

Всем привет, меня зовут Алексей Леонтьев, я техлид и архитектор на проекте Smartbot в компании KTS. Smartbot — это nocode-платформа для настройки сценариев чат-ботов, которые могут работать в нескольких соцсетях и мессенджерах одновременно.

Мы храним много данных о событиях, которые обрабатывает наша платформа. Раньше для этого мы использовали Postgres. Но возникла задача сократить потребляемые кластером ресурсы.

В этой статье я расскажу о том, как мы бесшовно перенесли данные из Postgres в ClickHouse. И при этом сократили оперативную память в 4 раза, а размер потребляемого дискового пространства — на порядок.

Читать далее

Как мы мигрировали с Zeppelin и что из этого вышло. Часть 1. Рассылки

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

Для задач аналитики Zeppelin - это чуть ли не находка. Он может в одной книжке исполнять код на любом языке (был бы интерпретатор), выводить его в виде красивых табличек, графиков и в любом другом виде, который удобен. И на Хабре есть много статей, посвященных плюсом данного решения для задач аналитики.

В результате в аналитический отдел ТКБ Инвестмент Партнерс данный инструмент проник достаточно глубоко: на нем писались аналитические отчеты для разных отделов, расчетные таблицы, которые затем отсылались в дашборды, также данными книжками могли пользоваться все, кто знал какие-либо языки программирования.

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

Как мы с этим справились?

Модуль Python для обновления данных в БД — DBMerge

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

Хочу рассказать о своей разработке и поделиться ей с сообществом habr в виде готового модуля для Python.

Этот модуль решает задачу обновления данных в базе данных. Он выполняет insert/update/delete в одном действии.

Модуль DBMerge проектировался для упрощения ETL процессов по загрузке данных из множества внешних источников в SQL базу.

Для взаимодействия с базой данных используется SQLAlchemy и ее универсальные механизмы, таким образом, разработка не имеет привязки к конкретной БД. (На момент написания статьи, детальные тесты проводились для PostgreSQL, MariaDB, SQLite, MS SQL)

Принцип действия

Принцип действия следующий: модуль создает временную таблицу в базе и записывает в нее весь входящий датасет через операцию массового insert. Далее он выполняет инструкции UPDATE, INSERT, DELETE для целевой таблицы.

Читать далее

Как создать чат-бота с LLM?

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

История о том как я потратил 5 лет на изучении llm ботов и в итоге написал своего за пол года. Пути реализации и ошибки.

Читать далее

Перевод Telegram бота (Aiogram3) через Fluent

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

Хотел перевести своего бота на английский язык, но в интернете нашел только эту статью. Информация взята с:
https://robotvasya.github.io/i18n-l10n-tutorial-aiogram/chapter_04.html

Устанавливаем библиотеки в ваш проект

Читать далее

Автоматизированные системы мониторинга моделей машинного обучения с помощью нашего open source фреймворка

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

Любая модель машинного обучения начинается с данных. Известное выражение «garbage in, garbage out» как нельзя лучше описывает главную уязвимость ML‑систем. В автоматизированном машинном обучении (AutoML) наиболее критичными точками являются процесс сборки данных и проблема мониторинга данных, в т.ч. в онлайне. Если процессы feature engineering и обучения наша библиотека формализует «из коробки» с помощью конфигурационных файлов и единых правил, то ответственность за загрузку и получение данных несет пользователь.

Читать далее

«Python. Уроки для начинающих»: почему это не просто очередной учебник по языку

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

Самоучителей по языку Python сейчас выпускается много, и вот буквально несколько дней назад в «БХВ» вышло еще одно издание — книга Владимира Дронова «Python. Уроки для начинающих». Это не обычное пособие для тех, кто хочет освоить новый для себя язык программирования, а книга с уникальным подходом.

Что же в нем уникального?

16 часов и 8600 строк: как Claude Code помог собрать персональный супер-апп

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

Я решил собрать для себя приложение, которое объединит несколько AI-модулей в одном месте: фитнес-трекер с AI-тренером, новостной дайджест по AI/ML, дашборды для других проектов. Не SaaS для всех, а инструмент для себя. PWA, чтобы работало как нативное приложение на телефоне.

В итоге: 4 дня по 4 часа, 8600 строк кода, работающий продукт в production. Расскажу как это получилось.

Читать далее

Как я научил AI анализировать AI: observability для LLM-агентов с Langfuse

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

Как я построил систему мониторинга LLM-приложений и научил AI анализировать собственные ошибки

AI-ассистенты в IDE стали незаменимыми помощниками разработчиков, но остаются чёрными ящиками. Мы не видим что они делают "под капотом", сколько это стоит и где теряется время. В статье покажу как построить системуobservability для AI-агентов: от Cursor IDE до production, с AI-анализом трейсов и открытым исходным кодом.

Читать далее

ChameleonLab: 300 000 скачиваний, «призрачная тишина» в MP3 и почему мы уходим в спектр (Инженерный R&D лог)

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

Привет, Хабр! На связи команда разработки ChameleonLab.

Наш проект — программный комплекс для стеганографии и защиты данных — перешагнул отметку в 300 000 скачиваний (суммарно для Windows и macOS). Такая база пользователей кардинально меняет подход к разработке. Мы больше не можем позволить себе «гаражные» методы, которые ломают структуру файлов или заставляют плееры вести себя непредсказуемо.

Нас часто спрашивают, почему в публичной версии до сих пор нет кнопки «Спрятать в музыку». Ответ прост: мы не хотим выпускать сырой функционал.
Последние два месяца мы провели в закрытом R&D, пытаясь решить одну задачу: как спрятать файл в MP3 так, чтобы ни один плеер и ни один спектроанализатор этого не заметил?

Читать далее

Как заставить LLM сортировать данные: от наивного подхода до TrueSkill

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

Если вы когда-нибудь грузили в LLM список и просили выбрать лучшее или отсортировать — вы, скорее всего, получали посредственный результат. Я проверил это на 164 постах своего телеграм-канала, сравнив пять разных методов сортировки. Оказалось, что разница между «дёшево и плохо» и «дёшево и хорошо» — в правильном алгоритме, а не в модели.

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

Читать далее

Субъектный подход к архитектуре агентов: инверсия управления LLM

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

Про агента, который сам пользуется LLM, как мы все. Показываем реализацию механики "осознанного обращения к LLM" (deliberate query) на основе оценки внутреннего состояния, в отличие от жестких пайплайнов типа ReAct или CoT.

Читать далее

Лагерь сделал из поэта язычника. Проследил динамику философских взглядов Заболоцкого с помощью Python

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

С помощью Python математически проследил эволюцию философских взглядов поэта на его творческом пути.

Читать далее

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

Claude Code в 2026: гайд для тех, кто еще пишет код руками

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

AI агенты в 2026: гайд для тех, кто всё еще пишет код руками.

Как устроены агенты типа Claude Code, ChatGPT Codex и др. Как правильно с ними работать. Как управлять контекстом. Как прогать голосовухами из тг.

Не потерять работу

MCP (КОМПАС-3D + LLM): превращаем САПР в среду для AI-агентов с помощью Python и COM API

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

Есть рутина, которую вы мечтаете автоматизировать? Или идеи, чего не хватает в повседневной работе? Напишите в комментариях или мне на почту (она в конце поста). Буду рад любым предложениям: что добавить, что упростить, а что вообще переделать.

Нейросети научились писать код, но до недавнего времени оставались беспомощными в реальном мире софта. Протокол MCP (Model Context Protocol) убрал эту стену, дав моделям прямой доступ к инструментам. И если для веба коннекторы появились сразу, то инженерный софт незаслуженно забыли. Я решил это исправить и дал нейросети прямой доступ к API КОМПАС-3D.

Читать далее

RLM-Toolkit: Полная замена LangChain? FAQ часть 2

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

LangChain — стандарт. Но что если у вас 1M+ токенов? Честное сравнение RLM-Toolkit: 287 интеграций, 10M+ контекст, H-MEM память. Когда какой использовать?

Читать далее

Fine-tuning Qwen-8B под проприетарный синтаксис (CADINP) на одной RTX 3090: опыт инженера-конструктора

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

Возможно ли на одной домашней видеокарте (RTX 3090) создать AI-ассистента, который знает узкоспециализированный инженерный язык лучше, чем GPT-4?

Я инженер-конструктор, и мне надоело писать рутинный код для SOFiSTiK руками. Поэтому я решил дообучить (fine-tune) модель Qwen 3 (8B) с дистилляцией логики DeepSeek под свои задачи.

В статье подробный технический разбор:
— Как собрать датасет с логикой Chain of Thought (CoT).
— Как бороться с Out of Memory в 24 ГБ VRAM на Windows + WSL.
— Рабочие конфиги Unsloth, параметры обучения и итоговая GGUF модель.

Раскрыть

Coreness: от одного бота к сотням — self-hosted open-source платформа для AI-агентов

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

Каждый новый Telegram-бот — снова код, конфиги, деплой. Хочется self-hosted решение, где логика в конфигах, а не в коде, и можно развернуть хоть десяток ботов на одном сервере.

Coreness — open-source платформа на Python с YAML-сценариями, RAG через PostgreSQL и плагинной архитектурой. Внутри статьи — разбор event-driven архитектуры без воды, пошаговый пример (от git clone до работающего бота с оплатами) и взгляд на то, как расширять платформу через плагины под свои задачи.

Читать далее

CPython — Сборка мусора изнутри, ч.3

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

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

Если вам интересно, давайте попробуем разобраться.

Читать далее

Трое в лодке, не считая контекста

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

Как подружить MCP-сервер, клиент и LLM в вашем приложении - практическое руководство.

Всем привет! Меня зовут Владимир, последние несколько лет я занимаюсь разработкой приложений с использованием моделей  компьютерного зрения (CV), обработки естественного языка (NLP) и больших языковых моделей (LLM).

Буду делиться своими наработками в этих областях. Начнем с серии материалов про МСР

Читать далее