Обновить
1024K+

Python *

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

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

Запускаем личный АИ-инфоконвейер: как я строю систему смыслового мониторинга с YAML и GPT

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

Мне приходится тратить много времени на мониторинг арбитража, госзакупок и других документов: PDF на сотни страниц, новости с «водой», RSS при этом отсутствует.

Поэтому я решил разработать open-source инструмент, который сам проверяет сайты, скачивает документы и с помощью локального ИИ (GPT4All / DeepSeek) делает краткую смысловую выжимку по YAML-шаблону.

Он должен работать как конвейер: источник → шаблон → интерпретация → результат. Локально, без облаков. И объединять всё в единую ленту новостей.

Сейчас я дорабатываю MVP — и я хочу понять, какие шаблоны наблюдения наиболее востребованы: законопроекты, торги, релизы, или что-то ещё?

Читать далее

Применение языка Python в инженерной практике. Точность измерений и вычислений. Погрешности и неопределённости

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

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

Погрешность измерения — это отклонение измеренного значения величины от её истинного (действительного) значения. Погрешность измерения является характеристикой точности измерения. Выяснить с абсолютной точностью истинное значение измеряемой величины, как правило, невозможно, поэтому невозможно и указать величину отклонения измеренного значения от истинного. Это отклонение принято называть ошибкой измерения. Возможно лишь оценить величину этого отклонения, например, при помощи статистических методов. На практике вместо истинного значения используют действительное значение величины x_Д, то есть значение физической величины, полученное экспериментальным путём и настолько близкое к истинному значению, что в поставленной измерительной задаче может быть использовано вместо него. Такое значение обычно вычисляется как среднестатистическое значение, полученное при статистической обработке результатов серии измерений. Это полученное значение не является точным, а лишь наиболее вероятным. Поэтому при записи результатов измерений необходимо указывать их точность. Например, запись T = 2.8 \plusminus 0.1 \; s \\; \; P = 0.95 означает, что истинное значение величины T лежит в интервале от 2.7 s до 2.9 s с доверительной вероятностью 95%. Количественная оценка величины погрешности измерения — мера сомнения в измеряемой величине — приводит к такому понятию, как неопределённость измерения. Синонимом термина "погрешность измерения" (англ. measurement error) является "неопределённость измерения" (англ. measurement uncertainty). Таким образом мы плавно и ненавязчиво подошли к названию модуля языка Питон, которому посвящён настоящий туториал - uncertainties (неопределённости).

Читать далее

Интернационализация Python-проектов modern-i18n

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

modern-i18n — это легковесная библиотека для интернационализации Python-проектов. Она позволяет легко управлять переводами, использовать параметризованные строки для форматирования текста. Подходит для небольших и крупных проектов.

Читать далее

Веб-агенты, которые действительно понимают веб-сайты: как слой восприятия Notte решает проблему DOM

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

Фундаментальная проблема веб-агентов заключается не в автоматизации — а в восприятии. Как позволить LLM навигировать и действовать на веб-сайтах, погребённых в слоях HTML?

Читать далее

Как я создал Text Extract API для RAG за 2 дня с помощью AI и Cursor: подробный кейс

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

Разработка с помощью AI‑инструментов меняет подход к созданию ПО. Я сам убедился в этом на практике: всего за два дня мне удалось создать Text Extract API для RAG, используя Claude 4.0, Gemini Pro 2.5 и IDE Cursor. Этот эксперимент показал, что нейросети — уже не просто хайп, а мощный ассистент, способный значительно ускорить процесс разработки.

Наша команда занимается созданием ПО для IT‑специалистов — программу Управление IT‑отделом 8. В ней есть блок для работы с заявками от клиентов и обширная база знаний. Возникла идея: интегрировать нейросети для автоматической обработки тикетов. Кейс прост:

Прилетает тикет от клиента > Нейросеть смотрит в базу знаний и готовит ответ > IT‑специалист либо использует ответ нейросети, либо нейросеть отвечает автоматически.

Для реализации такого функционала необходимо обучить AI‑модель на нашей базе знаний, а это требует качественного извлечения текста из различных документов. Эта статья посвящена первому этапу этого процесса — созданию API для извлечения текстовых данных из файлов любых форматов, что критически важно для эффективной работы с Retrieval‑Augmented Generation (RAG).

Читать далее

RecBole — «комбайн» на PyTorch для любых рекомендаций

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

Привет, Хабр!

Сегодня разберём RecBole — универсальный фреймворк на PyTorch, который отвечает на три насущных вопроса любого ML-инженера рекомендаций:

Как быстро обкатать десятки алгоритмов (от классического MF до SASRec и KGAT) на собственном датасете — без сотни скриптов?
Как хранить все настройки в одном YAML, а не в трёх сотнях аргументов CLI?
Как получить честное сравнение метрик и сразу вынести лучший чекпоинт в прод?

Рассмотрим подробнее под катом.

Читать далее

Часть 3: Diffusion Transformer (DiT) — Stable Diffusion 3 как она есть

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

В этой статье погрузимся в мир генерации изображений с Diffusion Transformer (DiT) — сердцем Stable Diffusion 3. Разберем как она устроена и как работает

Читать далее

Как в Django реализовать заполнение профиля пользователя через Google

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

Эта статья продолжает пост, в котором был рассмотрен один из алгоритмов аутентификации пользователя через платформу Google. Сейчас мы дополним ее механизмом заполнения профиля пользователя данными из Google-аккаунта. Хотелось бы подчеркнуть, что в обеих статьях рассматривается только один из алгоритмов. Он, на мой взгляд, наиболее понятен для начинающих разработчиков, хотя существуют и другие способы. О них можно узнать из документации Django.

Проведя аутентификацию через Google, мы получили только стандартные данные - идентификатор и имя пользователя. Но можно получить и другие, в частности, email, возраст, информацию о себе и т.д.

Реализуем в проекте собственный сервис (pipeline) и добавим в пакет приложения authapp соответствующий модуль (pipeline.py):

Читать далее

SOAP, WSDL и немножко Python создаём веб-сервис шаг за шагом

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

Практика — лучший способ глубокого понимания теории. Рассмотрим на примере, как работают веб-сервисы с протоколом SOAP, для чего нужен WSDL и как он связан с XML-документом в теле POST-запроса.

Читать далее

Часть 1: ResNet-18 — Архитектура, покорившая глубину

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

Разбор "на пальцах": Как из изображения получается предсказание? Разберем как устроена классическая сеть ResNet.

Читать далее

Простые вещи, которых я не знаю: юнит-тесты

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

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

Я программирую уже больше шести лет. На самом деле существенно больше (на свой первый аутсорс на PHP я попал примерно в 2016 году), но осознанно подходить к своей карьере я начал не сразу. За это время я вполне успешно поработал в довольно разных местах, от маленьких стартапов до международных компаний.

Недавно я проходил очередное собеседование, и на мой взгляд я неплохо держался. Как минимум до вопроса о том, как я покрываю свой код тестами. После него я стыдливо пробормотал о том, что знаю, как работает assert в python, и даже слышал про pytest. И что я с радостью начну писать тесты как только попаду к ним на проект, просто в наших проектах их не требовали. После чего мы плавно перешли к следующей теме, а оффер я так и не получил.

Пришлось разбираться, что я делаю не так

Круговой импорт в Python: как он ломает проекты и как его победить

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

Привет, Хабр!

Сегодня говорим о том, что в какой‑то момент словит почти каждый разработчик, особенно если вы не просто пишете скрипты, а строите проекты — будь то Django, Flask или кастомная архитектура с бизнес‑логикой в отдельных слоях. Речь про круговые импорты: они не объявляют о себе заранее, не фейлят весь проект громко и сразу, но подкрадываются исподтишка. И вот вы уже сидите с ошибкой ImportError: cannot import name ... или AttributeError, гуглите часами, тасуете импорты туда‑сюда и ловите дежавю — кажется, это уже было, но где?

Читать далее

Отправляем себе сообщения в телеграмм через питон. Как это может быть полезно в работе аналитика?

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

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

Читать далее

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

Когда Terraform не нужен: работаем с инфраструктурой через Ansible

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

Здравствуйте. Меня зовут Николай, и сегодня я расскажу, как мне пригодились Ansible и Python для работы с Yandex Cloud, и совсем не пригодился Terraform. 

Как это было

Делаем простой Telegram-бот с интеграцией AnythingLLM + LM Studio за 30 минут

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

В этом проекте создаем Telegram-бота, который взаимодействует с AnythingLLM — инструментом для работы с языковыми моделями (LLM) и LM Studio (используется как инструмент для загрузки документов и создания RAG архива). Покажу как использовать API AnythingLLM для бота и настроим взаимодействие с LM Studio, через которую предоставляется доступ к общению с ИИ-моделью. Самое главное в этой связке, что все отрабатывается локально без передачи файлов сторонним сервисам, что делает решение удобным для команд, которые хотят использовать ИИ в своих рабочих процессах, но не отправлять файлы во вне.

Полистать...

Постоянный логин в автотестах? Решаем с Playwright и экономим время

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

Привет, тестировщики и кодеры! Представь: пишешь автотесты для UX, всё красиво, запускаешь — и каждый тест начинает с нуля: логин, пароль, кнопка. Как будто у тестов амнезия! Это бесит, тормозит и превращает код в копипасту. Давай разберёмся, как выкинуть повторный логин на свалку и ускорить всё с Playwright и Python.

Читать

DRF captcha своими руками

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

Пришла мне тут по работе задача сделать возможность добавления товара в корзину пользователем без авторизации. Корзина, причем должна храниться на бэке для того, чтобы можно было проводить аналитику по неоформленным заказам, а также, если пользователь авторизуется, то добавлять эту корзину к его профилю для доступности ее с любых других устройств, на которых он (пользователь авторизован).
Ясное дело, что для корзины одного пользователя в сеансе оформления заказа нужен уникальный идентификатор, по которому можно определить в какую “корзину” поместить товар.

Так как на проекте мы использует REST подход к проектированию API, я подумал, что можно генерировать uuid ключ на клиенте и передавать его при каждом запросе добавления товара в корзину.

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

Читать далее

Оптимизация нейронных сетей для AI — переводчика

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

Всем привет! Меня зовут Алексей Рудак, и я – основатель компании Lingvanex, которая уже 8 лет занимается решениями в области машинного перевода и транскрипции речи. 

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

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

Кроме того, в статье обсуждаются стратегии управления темпами обучения, которые играют ключевую роль в том, насколько быстро модель обучается. Понимание того, как правильно корректировать темп обучения с течением времени, может существенно повлиять на динамику обучения и сделать модели более быстрыми и точными.

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

Читать далее

О сколько нам открытий чудных готовит Python

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

Словари или, по-другому, хеш-таблицы чрезвычайно популярны для хранения данных, поскольку обеспечивают быстрый поиск элемента, но все ли мы о них знаем или существуют нюансы, о которым умалчивают известные ресурсы и пособия? Об этом вы узнаете из данного поста.

Читать далее

EPT-MX-ADM: Новый уровень управления Matrix Synapse — Бета-версия v0.0.1

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

Привет, Хабр! Меня зовут Brabus, я разработчик из EasyProTech LLC, и сегодня я хочу рассказать о моём проекте - EPT-MX-ADM. Это современная админ-панель для Matrix Synapse, которая решает проблемы устаревших инструментов вроде Synapse Admin. Если ты админ Matrix-сервера и устал от CORS-ошибок, древнего UI и вечных плясок с Nginx-конфигами, этот проект для тебя. 😎

Читать далее