Собрали в одном месте самые важные ссылки
читайте нас в Telegram
А теперь о том, что происходило в последнее время на других ресурсах.
Как часто ваши простенькие прототипы или предметные скрипты превращаются в полномасштабные приложения? Простота естественного разрастания кода не лишена и обратной стороны — такой код становится трудно обслуживать. Количественное размножение словарей в качестве основных структур данных чётко сигнализирует о наличии технического долга. К счастью, сегодня Python предоставляет для простых словарей много адекватных альтернатив.
Kafka-консьюмеры не всегда работают так стабильно, как хотелось бы. Иногда они просто зависают — без ошибок, без падений, но и без обработки сообщений. LivenessProbe в Kubernetes помогает автоматически перезапускать зависшие сервисы, но с Kafka-консьюмерами всё не так просто: стандартного решения для них нет. В этой статье разберём, как правильно реализовать livenessProbe для консьюмеров с помощью паттерна Heartbeat, чтобы не перезапускать их вручную.
Не так давно мне пришла мысль попробовать создать собственного Телеграм-бота (просто из любопытства). И тут мне в голову пришла идея воспользоваться популярным ChatGPT и попробовать создать бота с нуля, во всём следуя инструкциям нейронки. Устанавливать дополнительный софт на своём основном ПК мне не очень хотелось, поэтому разместить бота я решил на VDS-сервере.
Автоматический дебаг с помощью языковых моделей уже не новость, и разработчики используют LLM‑модели и среды разработки с интегрированным ИИ, чтобы анализировать код и предлагать исправления. Но что если встроить в этот процесс ещё один мощный инструмент — поиск в интернете?
На одной из прошлых работ мы с ребятами попробовали внедрить так называемую чистую архитектуру на монолитном проекте. И это был интригующий опыт. Во-первых, мы начали намного рациональнее подходить к оценке задач. Во-вторых, заметно сократили time-to-market. А в-третьих, сильно разозлили наших аналитиков. Считаю, такими впечатляющими результатами стоит делиться.
Итак, в первой части я сделал первый подход к RAG для нашей небольшой компании с большим кол-вом документов на wiki, и множеством переписок в Slack. Стек технологий: Python, ChromaDB, простой SentenceTransformer("all-MiniLM-L6-v2"), Slack API, OpenAI API, Google Gemini API, YandexGPT API, Sber Gigachat API.
В одной из предыдущих статей мы узнали, что такое парсинг, и изучили примеры получения данных с HTML-страниц с помощью Python. В этой инструкции продолжаем продвигаться в этом направлении и предлагаем советы, использование которых поможет автоматизировано извлекать данные из большинства существующих сайтов.
Если в первой части мы заложили фундамент проекта (выбор инструментов, настройка окружения и структура), то здесь мы превратим этот каркас в полноценное API для управления резюме кошек (или людей — как вам ближе). Мы подключим базу данных, добавим тесты, настроим миграции и даже проверим всё в действии. К концу статьи у вас будет рабочее API, которое можно потрогать руками (или лапками 🐾).
В данной статье мы рассмотрим основы асинхронного программирования в python, фокусируясь на ключевых концепциях и их практическом применении. Мы начнем с изучения генераторов и итераторов — фундаментальных механизмов, лежащих в основе асинхронности python. Затем поговорим о потоках и процессах, чтобы понять, как они соотносятся с асинхронным подходом.
В этой статье по мотивам моего доклада для конференции Highload++ 2024 расскажу об истории смены SDN в публичном облаке с проприетарного VMware NSX на Open Source решение OVN. Ввиду того, что текст статьи, в отличие от выступления на конференции не ограничен по времени, я решил разобрать некоторые моменты более подробно.
В данной статье мы поговорим об одном из способов повышения узнаваемости брендов в спорте, а точнее виртуальной рекламе. Разберем размещение рекламных баннеров на видео и напишем пример на Python и OpenCV, где разместим логотип Adidas с использованием алгоритма детектирования ключевых точек SIFT и гомографии для искажения баннера под перспективу.
А теперь о том, что происходило в последнее время на других ресурсах.
Эмоций, чувств и их оттенков много, они разные, и чтобы во всём этом разобраться, соберем их... в базу данных или датафрейм. Заодно установим связи между эмоциями, а также попробуем применить разные коэффициенты... Имея такую базу данных, мы сможем научить LLM распознавать эмоции и их оттенки, лучше понимать человека. В этой статье описываются практические моменты создания такого "датафрейма эмоций".
Буквально недавно в ИЦ прошло ежегодное мероприятие “Инновационная столица-2024”, где мой коллега, руководитель отдела цифровых сервисов, продемонстрировал обновленный АИС “Мониторинг аварийности”. Цифровая карта ДТП не имеет аналогов в России, поэтому в этой статье я бы хотел рассказать, чем так уникален продукт, и как он помогает снижать количество ДТП в городе.
Продолжаем серию статей о создании BI-системы в компании Sminex. Сегодня поговорим об автоматизации и оптимизации работы инженеров данных и BI-разработчиков. Работа с данными всегда требует поиска баланса между удобством, скоростью и качеством. В этой статье мы сосредоточимся на удобстве.
Сегодня мы рассмотрим одну из самых известных, но одновременно спорных технологий Python — библиотеку pickle. Если вы когда‑нибудь задумывались, как сохранять объекты в виде байтового потока и затем восстанавливать их, то эта статья для вас.
В статье рассматриваются два способа массовой генерации однотипных документов: с помощью функции «слияния» в Word и скрипта на Python.
Если вы работаете с данными, то наверняка сталкивались с ситуацией, когда Excel становится вашим лучшим другом и злейшим врагом одновременно. С одной стороны, это удобный и привычный инструмент для работы с таблицами, с другой — его ограничения могут превратить даже простую задачу в настоящий кошмар. Но что, если бы вы могли объединить мощь Excel с гибкостью и возможностями Python и R?
Появилась свободное время, и я решил сделать RAG (Retrieval Augmented Generation) для нашей компании. Компания небольшая, но документации технической и бизнес накопилось очень много, в основном на wiki. Цель - подключить бота в slack, который быстро может выдать инфу по нужной теме.