«Треки» — это интересная головоломка из университетского квеста. Она представляет собой 2 поля одинакового размера, разделенные на клетки. Для ее решения сначала необходимо найти путь с ограничениями для верхнего поля. После этого требуется с помощью данного пути извлечь сообщение из нижнего поля. Наконец, это сообщение необходимо правильно интерпретировать, чтобы определить музыкальное произведение, на которое оно ссылается. Попробуем решить первые 2 этапа этой головоломки с помощью Python.
Python *
Высокоуровневый язык программирования
Новости
Storybook — генератор сказок с ИИ на Raspberry Pi 5 и 7-цветном дисплее E-Ink
Последнее время только ленивый не пишет о великом прорыве человечества в области разработки искусственного интеллекта под общим названием "большая языковая модель" (LLM, large language model). И хотя у них остается еще много возможностей для совершенствования, но за последние несколько лет подобные приложения стали действительно востребованными. Большие языковые модели привлекают своей сверхъестественной способностью резюмировать текст, понимать естественный язык и создавать контент (и судя качеству некоторых статей, в том числе и тут на Хабре).
Правда подобные инструменты иногда сбоят и выдают некорректную информацию т.е. "галлюцинируют", которую выдают за правду. Генераторы изображений могут нарисовать лошадей с пятью ногами или кисть руки с семью пальцами. Однако подобные "фантазии" не всегда плохо. Например, когда творчество ценится выше точности, генерация не существующего контента, но похожего на правду, может оказаться полезной.
Томас Валадес (Thomas Valadez) воспользовался этим творческим потенциалом, чтобы создать интересное устройство под названием «Storybook». Его проект с открытым исходным кодом превращает Raspberry Pi в рассказчика на базе искусственного интеллекта, способного создавать иллюстрированные сказки. Это устройство использует LLM и генератор изображений для создания одной страницы книги из никогда не существовавшего сборника рассказов и выводит их на E-Ink дисплей.
Шахматы. От начала до читов
Как-то пару лет назад youtube начал мне подсовывать шахматные видео. Смотрел их, и спустя какое-то время начал играть. Сначала против компа на телефоне, затем на lichess. В какой-то прекрасный вечер мне надоело проигрывать и задался вопросом как бы не проигрывать или после отыгрываться. В итоге игра превратилась в написание чита.
YandexGPT API быстро и без труда с Python SDK. Делимся опытом интеграции
YandexGPT API — сервис для доступа к генеративным языковым моделям, хоть и является мощным инструментом во многих задачах, однако может озадачить разработчика, решившего внедрить его в свои проекты отсутствием официального SDK, разнообразием способов авторизации, видов моделей и эндпоинтов API. В данной статье я рассказываю, как мы внедряли YandexGPT в свои проекты, а в конце делюсь всеми наработками.
Истории
Безработные айосники, мертвый PHP и бесполезные “саперы”: топ-5 мифов о будущем российского IT
Мы в hitch занимаемся аутстаффингом – выводим опытных IT-специалистов на бигтех-проекты. Поэтому непрерывно следим за любыми изменениями на рынке, а еще с удовольствием слушаем экспертов — но не во всём с ними соглашаемся. Сегодня разберем прогнозы и обещания, которые всколыхнули рынок, но показались нам нереалистичными.
Когда достаточно простого класса Python — взять и начать управлять ML-экспериментами
Мы в ПГК занимаемся грузоперевозками, причем решаем различные транспортные задачи не только методами математической оптимизации, но и с помощью моделей машинного обучения. Наши дата-сайентисты проводят десятки экспериментов — в том числе и без необходимости прибегать к инструментам логирования вроде MLflow. В этом им помогает компактный Python-класс. Расскажем, как он устроен, и поделимся кодом.
Майним крипту и NFT с помощью Python
Прошу сохранять спокойствие, если слова крипта и NFT у вас ассоциируются со словом скам. В этой статье не будет никаких финансовых рекомендаций, рекламы, только программирование. Вообще мне нравится автоматизировать какую-либо деятельность, которая приносит доход, и буквально вчера мне абсолютно случайно на глаза попался обзор некой игровой платформы, представляющей собой NFT-игру в жанре RPG (т.е. все игроки желают с помощью игровых механик преумножить свой капитал, добывая токены). Одна из механик игры просто не позволила мне пройти мимо и не задуматься об её автоматизации, так как выглядит она очень простым, но скучным, и долгим занятием. А это то, что нужно.
Учебно-развлекательный проект «Мобильная платформа». Управление жестами руки
Учебно-развлекательный проект "Мобильная платформа", который использует управление жестами руки для управления роботом. В ней подробно рассматриваются технические аспекты сборки платформы, программирование Arduino и обработка жестов с помощью Python и библиотеки mediapipe.
Сбор покрытия Flask (Python) в Runtime
Всем привет, меня зовут Осипов Станислав. Я занимаюсь AppSec/DevOps с 2021 года. В этой статье я хочу рассказать как можно собрать покрытие Python приложения в runtime (незавершая процесс).
Что было использовано для сбора покрытия:
https://github.com/pallets/flask - Flask 3.03
https://github.com/nedbat/coveragepy - coverage 7.5.1
Рулим запуском Spark-приложений в Airflow с помощью самописного оператора
Airflow в Lamoda Tech играет роль оркестратора процессов обработки данных. Ежедневно с его помощью мы запускаем 1 800+ тасок на проде, примерно половина из которых являются Spark-приложениями.
Все Spark-приложения сабмитятся из Docker-контейнеров. И здесь сталкиваемся с проблемой: в нашем случае не существует готовых решений для запуска Spark-приложений, позволяющих легко править конфигурацию и следить за количеством потребляемых ресурсов.
Меня зовут Андрей Булгаков, я лид команды разработчиков Big Data в Lamoda Tech. Вместе с разработчиком Иваном Васенковым в этой статье мы поделимся историей создания Airflow-оператора для запуска Spark-приложений.
Язык программирования Mojo: что нового в версии 24.3?
На днях была опубликована новая версия языка программирования Mojo, теперь это 24.3. Новинка получила несколько важных компонентов, которые требуются для создания приложений на этом языке. Например, компилятор, интерактивная REPL-оболочка для сборки и запуска программ, отладчик, дополнение к редактору кода Visual Studio Code (VS Code) и т. п.
Стоит отметить, что исходники открыты под лицензией Apache 2.0. После того как будет завершено проектирование внутренней архитектуры, разработчики откроют и код компилятора. Ну а подробности изменений и дополнений — под катом.
CADE — интересный способ поиска аномалий в многомерных данных
CADE () - метод для приближения плотности вероятности, который можно эффективно использовать для поиска аномалий в данных. В этой статье я расскажу про этот метод, а также предоставлю пример реализации CADE на Python.
Причины компьютерных сбоев, о которых вы даже не думали
Привет-привет! С вами снова Оля — программист Учебного центра компании «Тензор»... и радиофизик. До этого я рассказывала вам о рабочих кейсах, а сегодня поведаю о программистско-астрофизическом эксперименте.
Бывало ли на вашем пользовательском веку такое, что компьютер внезапно завис или не смог прогрузить страницу? Грешили ли в этот момент на проклятую технику? А ведь причина может быть в другом — космическое излучение могло быть источником ваших бед! В этой статье разберем уязвимость с самого известного фреймворка cwe.mitre.org.
Ближайшие события
Век поиска кратчайшего решения задачи о кратчайшем пути
TL;DR Очень подробный разбор алгоритмов решения задачи о кратчайшем пути от классики до двунаправленного А* и ALT с кодом и примерами на OSM
Люди пытались найти более быстрые способы передвижения на протяжении всей своей истории. Появление качественной дорожной системы в римской империи в своё время привело к её расцвету, но со временем выяснилось, что и в продуманных дорожных системах бывают забавные изъяны, как например в небезызвестной задаче о кёнигсбергских мостах, считающейся отправной точкой возникновения теории графов. Неудивительно и то, что с развитием вычислительной техники логистические задачи стали одними из первых, над которыми трудились первопроходцы компьютерных наук. Задача о кратчайшем пути -- одна из них, звучит достаточно просто: есть несколько городов и дорог, соединяющих пару городов между собой, мы хотим попасть из города А в город Б пройдя при этом минимальное расстояние. Первый системный подход к этой задаче был описан в работе Эгервари в 1931г., спустя 25 лет Эдсгер Дейкстра придумал алгоритм, который сейчас является частью любого уважающего себя базового курса алгоритмов на графах. На нём же, будем честны, заканчиваются знания о кратчайших путях у большинства профессиональных разработчиков, ибо сценариев, где реализации с википедии/stackoverflow будет не хватать, крайне мало.
Может показаться, что на самом деле просто не было существенного прогресса с 60х годов, так как Дейкстра предоставил почти асимптотически оптимальный алгоритм решения задачи. На самом деле нет, прогресс был и придумали много чего интересного, хоть и действительно с того времени фокус сместился на другие задачи. Приглашаю под кат если интересно узнать что такого напридумывали, что используется в современных логистических системах, почему меня огорчает отсутствие учёта флага единства в HOMM3 при расчёте пути, ну и наконец, что за мужики на картинке выше рядом с Дейкстрой?
Мега-Учебник Flask Глава 7: Обработка ошибок (издание 2024)
Это седьмая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как выполнять обработку ошибок в приложении Flask.
Data сontract: давайте попробуем договориться
В последнее время всё чаще и чаще натыкаюсь на термин data contract. И чтобы не отставать от трендов на рынке data engineering, решил изучить эту тему и рассмотреть тенденции. Постараемся понять, с чем его кушать и стоит ли кушать вовсе.
На практике пробуем KAN – принципиально новую архитектуру нейросетей
На днях ученые из MIT показали альтернативу многослойному перцептрону (MLP). MLP с самого момента изобретения глубокого обучения лежит в основе всех нейросетей, какими мы их знаем сегодня. На его идее в том числе построены большие языковые модели и системы компьютерного зрения.
Однако теперь все может измениться. В KAN (Kolmogorov-Arnold Networks) исследователи реализовали перемещение функций активации с нейронов на ребра нейросети, и такой подход показал блестящие результаты.
Обновлённый ЕМИСС: веб-приложение от непрограммиста
Меня зовут Александр, я активно исследую экономические данные, строю регрессии, ML-модели. Данные использую разные: перекрёстные, панельные, временные.
По специфике своей работы часто пользуюсь ЕМИСС. ЕМИСС — это кладезь социально-экономических данных, но и одновременно платформа, которая может довести до головных болей и дергающегося глаза, а то и двух сразу.
Поставим себе, например, задачу выяснить, как влияет Х на У. Возьмём в качестве объектов наблюдения — регионы РФ. И тут нас будут ждать сюрпризы. Как быстро, не вырывая волосы из головы, получить две колонки данных за последний год по субъектам? Мы, конечно, можем использовать VLOOKUP/XLOOKUP в экселе и всё такое. Но нам встретятся обязательно двойняшки (тройняшки): «г. Москва» и «Город Москва столица Российской Федерации город федерального значения»; «Кемеровская область - Кузбасс» и «Кемеровская область — Кузбасс». Да, мелочи, но неприятно бороться с этими исключениями вручную.
ABC-XYZ анализ на Python. Управление ассортиментом и схемами поставок
Управление ассортиментной матрицей и складскими запасами является нетривиальной задачей для бизнеса, требует аналитики и научного подхода к решению задачи. Одним из методов управления ассортиментом и закупками является ABC-XYZ классификация.
Рассмотрим ее реализацию на Python, поговорим об основных принципах построения и предобработке входных данных, в рамках рабочего проекта, в который мне пришлось погрузиться в одной крупной торгово-производственной компании.
Кратко про Uplift-моделирование
Uplift-моделирование — это метод оценки эффекта от воздействия, который использует алгоритмы ML для предсказания изменения вероятности интересуемого события под влиянием этого воздействия. Зачастую цель Uplift заключается в выявление тех клиентов, которые с наибольшей вероятностью изменят своё поведение в желаемую сторону в ответ на предложение.
Uplift-модели считают разницу между вероятностями наступления события в обработанной и контрольной группах. С ними можно предсказать результат и определить, был ли он действительно вызван проведенной кампанией.