Собрали в одном месте самые важные ссылки
консультируем про IT, Python
Сегодня разбираем реализацию Gibbs Sampling на Python. Это один из методов Монте‑Карло по цепям Маркова (MCMC), который решает такую задачу:«У нас есть сложное многомерное распределение, но мы не можем из него напрямую сэмплировать. Однако, если у нас есть условные распределения, то мы можем брать новые точки, обновляя поочередно каждую координату.»
У меня, как у практикующего юриста в консалтинге и человека, горящего желанием научиться новым навыкам, появилась идея (которая в ходе реализации изменила свой вид) создать программу для анализа эмоций и тональности документов.
В этой статье мы коротко пройдемся по основным вариантам реализации акторной модели на Python.
А теперь о том, что происходило в последнее время на других ресурсах.
Как часто ваши простенькие прототипы или предметные скрипты превращаются в полномасштабные приложения? Простота естественного разрастания кода не лишена и обратной стороны — такой код становится трудно обслуживать. Количественное размножение словарей в качестве основных структур данных чётко сигнализирует о наличии технического долга. К счастью, сегодня Python предоставляет для простых словарей много адекватных альтернатив.
Telescope - это opensource web-приложение для удобной работы с логами, хранящимися в ClickHouse.
Утилита позволяющая измерить процент покрытия тестами. Скачать можно по ссылке: https://pypi.python.org/pypi/coverage/
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 Bytes
В данной статье мы рассмотрим основы асинхронного программирования в python, фокусируясь на ключевых концепциях и их практическом применении. Мы начнем с изучения генераторов и итераторов — фундаментальных механизмов, лежащих в основе асинхронности python. Затем поговорим о потоках и процессах, чтобы понять, как они соотносятся с асинхронным подходом.
В этой статье по мотивам моего доклада для конференции Highload++ 2024 расскажу об истории смены SDN в публичном облаке с проприетарного VMware NSX на Open Source решение OVN. Ввиду того, что текст статьи, в отличие от выступления на конференции не ограничен по времени, я решил разобрать некоторые моменты более подробно.
В данной статье мы поговорим об одном из способов повышения узнаваемости брендов в спорте, а точнее виртуальной рекламе. Разберем размещение рекламных баннеров на видео и напишем пример на Python и OpenCV, где разместим логотип Adidas с использованием алгоритма детектирования ключевых точек SIFT и гомографии для искажения баннера под перспективу.
А теперь о том, что происходило в последнее время на других ресурсах.
Эмоций, чувств и их оттенков много, они разные, и чтобы во всём этом разобраться, соберем их... в базу данных или датафрейм. Заодно установим связи между эмоциями, а также попробуем применить разные коэффициенты... Имея такую базу данных, мы сможем научить LLM распознавать эмоции и их оттенки, лучше понимать человека. В этой статье описываются практические моменты создания такого "датафрейма эмоций".