Как стать автором
Обновить
20
0
Александр Третьяков @Story-teller

Пользователь

Отправить сообщение

[Python Intermediate] Урок 2. Docker и docker-compose

Время на прочтение11 мин
Количество просмотров33K

К сожалению, в python-мире до сих пор повсеместно применяется неизолированный запуск приложения и его инфраструктуры на личных устройствах. Боюсь, даже опытные специалисты неохотно используют контейнеризацию, хотя в действительности её плюсы неоспоримы.

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

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии10

Как программист настроил автоматическое развертывание бекенда с базой данных

Время на прочтение11 мин
Количество просмотров13K

Всем привет, хабровчане и гости сайта

Сегодня решил рассказать о своем опыте, как я при помощи docker-compose и bash скрипта настроил развертывание бекенд приложения с базой данных.

Какая была идея? Хотелось при помощи одной команды в терминале разворачивать Java приложение с базой данных так, чтобы можно было передать все необходимые переменные в момент запуска и нигде не хранить их.
Так, чтобы можно было развернуть новую версию приложения даже с телефона, просто заранее заготовив необходимую команду.

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

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

Дело было так...
Всего голосов 8: ↑5 и ↓3+4
Комментарии21

Краткий обзор NLP библиотеки SpaСy

Время на прочтение5 мин
Количество просмотров32K

Обработка естественного языка(Natural Language Processing — NLP) сегодня становится очень востребованной, так как людям несомненно проще общаться с машинами также, как они общаются с людьми.


image


Поэтому сейчас, вместе с быстрым развитием этой области, всё больше сервисов используют NLP: чат-боты, в которых больше не нужно выбирать готовые ответы, голосовые ассистенты, электронная почта, чтобы автоматически сортировать письма и так далее. В этом посте я хочу рассказать об относительно новой Python библиотеке SpaCy, которая стала, если не индустриальным стандартом, как кричат заявляют сами создатели на сайте библиотеки: https://spacy.io/, то как минимум одним из самых популярных и удобных решений. Приятного чтения!

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии8

Основы CI/CD. Знакомство с Jenkins

Время на прочтение8 мин
Количество просмотров137K

В новой статье рассмотрим основы CI/CD и познакомимся Jenkins. Вы узнаете, где применяется Jenkins и какие проблемы помогает решить, поймёте логику архитектурных решений и особенности структуры каталогов. А ещё научитесь устанавливать Jenkins и производить базовую конфигурацию.

За основу статьи взят первый урок нашего практического курса «CI/CD с Jenkins».

Читать далее
Всего голосов 13: ↑9 и ↓4+6
Комментарии10

Как с нуля построить свою блокчейн сеть

Время на прочтение10 мин
Количество просмотров24K

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

Читать далее
Всего голосов 18: ↑10 и ↓8+5
Комментарии13

Квадрокоптер: дотянуться до небес

Время на прочтение6 мин
Количество просмотров195K
Прошло некоторое время после сборки моего квадрокоптера и предыдущей статьи.
Вдохновившись статьями (1, 2) товарища PaulMan решил написать свою. Правда не так подробно, и не в виде туториала, а скорее рассказ о первых месяцах использования и установке FPV.

Заветная даль


Полетав день на поле, накручивая круги, восьмерку и побаиваясь более сложных фигур, захотелось более высоких и дальних полетов.
История целиком
Всего голосов 103: ↑97 и ↓6+91
Комментарии83

Привлекаем внимание технологов (и не только «Норникеля»)! Визуализация ML-модели на «архивных» данных

Время на прочтение11 мин
Количество просмотров5.2K

Идет очередной этап работы датасаентиста… обучена ML-модель, которая снизит издержки, повысит эффективность, сделает жизнь лучше, ничего не изменит, зато звучит модно. И вот настало время презентовать результаты ее работы. Если вы, как и я, работаете в промышленности, то на запланированную встречу наряду с менеджерами наверняка пригласят технологов с производства - именно они будут пользователями вашей системы, и успешность проекта может во многом зависеть от их заинтересованности и вовлеченности в совместную работу. Раз надо их заинтересовать, сделаем!

Привет, Хабр! Меня зовут Владимиров Дмитрий, я data scientist в группе анализа данных компании Норникель. Я хочу поделиться тем, как настроить интерактивную визуализацию работы ML-модели использую связку Python+Postgres+Grafana.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Как Яндекс перепридумал поиск для разработчиков

Время на прочтение9 мин
Количество просмотров38K

У вас бывало, что открываешь поиск, ищешь что-то по программированию и не находишь ответ? Тогда эта история для вас. 

Меня зовут Алексей Степанов, я руковожу службой исследований машинного обучения поиска Яндекса. Сегодня я расскажу непростую историю. Она про проблему, до решения которой у нас слишком долго не доходили руки. Из поста вы узнаете, почему стандартная метрика качества поиска не учитывала интересы разработчиков и как мы её улучшили. Расскажу про новую нейросеть CS YATI, обученную понимать таких же айтишников, как и мы. Ну и про грабли на нашем пути тоже расскажу, куда без них.

Этот пост основан на моём докладе с Data Fest 2022, но не во всём (мой коллега Максим Хурсанов @Maxim2207 существенно расширил историю).

Читать далее
Всего голосов 73: ↑71 и ↓2+85
Комментарии68

Как хранить сеть дорог в БД для построения маршрута?

Уровень сложностиСложный
Время на прочтение21 мин
Количество просмотров19K

Японцы уже в 2018 году научили немецкий GraphHopper строить маршруты по дорогам хранящимся в PostgreSQL.

Как кастомизировать источник данных, и сохранять новые дороги в таблицу правильно?

Надо всего лишь...
Всего голосов 29: ↑29 и ↓0+29
Комментарии18

Автоматизируем деплой на объектах СИБУРа

Время на прочтение4 мин
Количество просмотров2.3K

Привет! Хорошо налаженным CI/CD сложно кого-то удивить, потому что чаще всего это происходит в классических IT-компаниях. А в них не бывает таких жестких ограничений в плане информационной безопасности.

Как вы понимаете, у нас в СИБУРе с этим дела обстоят немного иначе. Но мы все равно осилили развернуть полноценный CI/CD в рамках целых предприятий — теперь в пару кликов мы можем разворачивать новые релизы ПО на всех наших заводах. В этом посте я расскажу, что именно мы сделали.

Наш продукт называется “IoT-Платформа СИБУР” и он распределенный: центральный репозиторий с образами нашего софта лежит на серверах в корпоративном центре, а сама платформа устанавливается на сервер каждого завода. И делалось это обычно заботливыми руками отдельно взятых специалистов. Мы решили автоматизировать процесс обновлений версий платформы на каждом заводе, и вышло так, что мы стали первым продуктом в цифровизации СИБУРа, который автоматизировал деплой на заводы (из единого репозитория в корпоративном центре).

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии1

Selenium для Python. Глава 2. Первые Шаги

Время на прочтение6 мин
Количество просмотров329K
Продолжение перевода неофициальной документации Selenium для Python.
Перевод сделан с разрешения автора Baiju Muthukadan.
Оригинал можно найти здесь.

Содержание:


1. Установка
2. Первые Шаги
3. Навигация
4. Поиск Элементов
5. Ожидания
6. Объекты Страницы
7. WebDriver API
8. Приложение: Часто Задаваемые Вопросы
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии2

Яндекс выложил YaLM 100B — сейчас это крупнейшая GPT-подобная нейросеть в свободном доступе. Вот как удалось её обучить

Время на прочтение10 мин
Количество просмотров119K

Больше примеров — в конце поста

В последние годы большие языковые модели на архитектуре трансформеров стали вершиной развития нейросетей в задачах NLP. С каждым месяцем они становятся всё больше и сложнее. Чтобы обучить подобные модели, уже сейчас требуются миллионы долларов, лучшие специалисты и годы разработки. В результате доступ к современным технологиям остался лишь у крупнейших IT-компаний. При этом у исследователей и разработчиков со всего мира есть потребность в доступе к таким решениям. Без новых исследований развитие технологий неизбежно снизит темпы. Единственный способ избежать этого — делиться с сообществом своими наработками.

Год назад мы впервые рассказали Хабру о семействе языковых моделей YaLM и их применении в Алисе и Поиске. Сегодня мы выложили в свободный доступ нашу самую большую модель YaLM на 100 млрд параметров. Она обучалась 65 дней на 1,7 ТБ текстов из интернета, книг и множества других источников с помощью 800 видеокарт A100. Модель и дополнительные материалы опубликованы на Гитхабе под лицензией Apache 2.0, которая допускает применение как в исследовательских, так и в коммерческих проектах. Сейчас это самая большая в мире GPT-подобная нейросеть в свободном доступе как для английского, так и для русского языков.

В этой статье мы поделимся не только моделью, но и нашим опытом её обучения. Может показаться, что если у вас уже есть суперкомпьютер, то с обучением больших моделей никаких проблем не возникнет. К сожалению, это заблуждение. Под катом мы расскажем о том, как смогли обучить языковую модель такого размера. Вы узнаете, как удалось добиться стабильности обучения и при этом ускорить его в два раза. Кстати, многое из того, что будет описано ниже, может быть полезно при обучении нейросетей любого размера.
Читать дальше →
Всего голосов 123: ↑122 и ↓1+164
Комментарии139

Ваш первый BERT: иллюстрированное руководство

Время на прочтение8 мин
Количество просмотров39K

bert-distilbert-sentence-classification


Прогресс в области машинного обучения для обработки естественного языка существенно ускорился за последние несколько лет. Модели покинули исследовательские лаборатории и стали основой ведущих цифровых продуктов. Хорошей иллюстрацией этому служит недавнее заявление о том, что основным компонентом, стоящим за поиском Google, стала модель BERT. Google верит, что этот шаг (т.е. внедрение передовой модели понимания естественного языка в поисковую систему) представляет собой «величайший прорыв за последние пять лет и один из знаменательнейших во всей истории поисковых систем».


Данная статья – это простое руководство по использованию одной из версий BERT'а для классификации предложений. Пример, рассмотренный нами, одновременно и достаточно простой для первого знакомства с моделью, и достаточно продвинутый для того, чтобы продемонстрировать ключевые концепты.


Помимо этой статьи был подготовлен ноутбук, который можно посмотреть в репозитории или запустить в Colab.

Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии6

Меня скоро заменит AI. Почему это офигенно?

Время на прочтение9 мин
Количество просмотров6.6K

Привет! Я Настя, и вот уже более 10 лет я работаю с текстами. Сначала трудилась на литературной плантации в провинциальном агентстве, потом писала для свадебного журнала, после – создавала тексты акций для купонного портала. А потом попала в IT и понеслось... В этой статье хочу рассказать, где меня уже заменил искусственный интеллект, почему это круто и какие инструменты на основе AI стоит взять на вооружение всем уставшим от однообразной работы копирайтерам.

Одно из неоспоримых преимуществ работы в IT – возможность обкатать крутые продукты еще до того, как они попадут на рынок. Собственно, некоторое время назад, коллеги из NLP team SberDevices, те самые, которые наобучали целую подборку ruGPT-3 & family, дали мне потрогать два AI-сервиса, призванных упростить жизнь всем пишущим – «Рерайтер» и «Суммаризатор». Ниже подробный отчет о том, для каких задач я применяла их в своей повседневной практике, какие испытания устраивала и что из этого получилось. А у самих ребят можно почитать про техническую сторону обучения моделей, поверьте, это очень интересно.

Читать далее
Всего голосов 15: ↑12 и ↓3+13
Комментарии16

Практические применения генеративных моделей: как мы делали суммаризатор текстов

Время на прочтение9 мин
Количество просмотров12K


В последнее время вышло большое количество генеративных моделей для русского языка. Команды Сбера выпустили целое семейство авторегрессионных моделей ruGPT3, ruT5, о которых мы подробно писали ранее. Сегодня мы расскажем, как практически применять обучение таких моделей и какие продукты можно получить на их основе.

Мы выводим в открытый доступ два новых сервиса: Рерайтер и Суммаризатор. Модель «Рерайтер» способна переписать любой текст другими словами с сохранением смысла вне зависимости от длины и формата — от новостей и художественной литературы до постов в социальных сетях. Модель «Суммаризатор» позволяет создать сжатое изложение исходного текста, сохраняющее его главные тезисы. Эта модель может быть полезна для экономии времени читателя, а также выделения главных мыслей объёмных документов, научной или бизнес-литературы. В частности, использовать сервис можно для подготовки обзоров научных работ на заданную тему, создания новостных дайджестов, выделения наиболее важных событий в лентах информагентств для аналитики. 
Читать дальше →
Всего голосов 13: ↑12 и ↓1+14
Комментарии1

Основы Elasticsearch

Время на прочтение12 мин
Количество просмотров690K

Elasticsearch — поисковый движок с json rest api, использующий Lucene и написанный на Java. Описание всех преимуществ этого движка доступно на официальном сайте. Далее по тексту будем называть Elasticsearch как ES.


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


В этой статье я расскажу про основы ES на примере индексации постов блога. Покажу как фильтровать, сортировать и искать документы.

Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии78

Клиент-серверный IPC на Python multiprocessing

Время на прочтение5 мин
Количество просмотров9.8K

Статья отражает личный опыт разработки CLI приложения для Linux.

В ней рассмотрен способ выполнения привилегированных системных вызовов процессом суперпользователя по запросам управляющей программы через строго описанный API.

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

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

Groupby aggregation в pandas

Время на прочтение3 мин
Количество просмотров68K


Агрегация является одной из самых частых операций при анализе данных. Разные технологии предлагают нам кучу способов эффективно группировать и агрегировать интересующие нас поля(столбцы, признаки). В этой статье будет рассказано про реализацию агрегации в pandas.
По своей специализации я очень мало работаю с python, но часто слышу про плюсы и мощь этого языка, в особенности когда речь заходит про работу с данными. Поэтому я проведу здесь параллель операций с T-SQL и приведу некотрые примеры кода. В качестве данных я буду использовать наверное самый популярный data set — Ирисы Фишера.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Подключение к session в Java и Python. HttpURLConnection и CookieManager (Java). Requests(Python)

Время на прочтение4 мин
Количество просмотров12K
Допустим, что нам надо подключиться к серверу, авторизоваться и поддерживать сессию. В браузере это выглядит следующим образом:

  1. На адрес http://localhost:8080/login отправляется пустой GET запрос.
  2. Сервер присылает формочку для заполнения логина и пароля, а также присылает Cookie вида «JSESSIONID=094BC0A489335CF8EE58C8E7846FE49B».
  3. Заполнив логин и пароль, на сервер отправляется POST запрос с полученной ранее Cookie, со строкой в выходном потоке «username=Fox&password=123». В Headers дополнительно указывается «Content-Type: application/x-www-form-urlencoded».
  4. В ответ сервер нам присылает новую cookie c новым «JSESSIONID=». Сразу же происходит переадресация на http://localhost:8080/ путём GET запроса с новой Cookie.
  5. Далее можно спокойно использовать остальное API сервера, передавая последнее Cookie в каждом запросе.

Рассмотрим, как это можно реализовать на Java и на Python.


Читать дальше →
Всего голосов 3: ↑2 и ↓1+5
Комментарии8

Нейрозапятые, или как мы оставили своих редакторов без работы (ну почти)

Время на прочтение9 мин
Количество просмотров9.8K

Всем привет, меня зовут Владислав Соболев – ML-инженер в компании “БАРС Груп”. Сегодня я хотел бы рассказать о том, зачем и как мы расставляем знаки препинания в текстах, сравним аналоги, и посмотрим на то, как устроена работа инструмента, который мы написали, чтобы обучать такого рода модели (ссылочка в самом конце). Начнем!

У нас в компании есть ряд ML-проектов, внутри которых используется анализ текста, в том числе и надиктованного голосом. Мы командой долго думали над тем, как можно реализовать данные проекты.

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

Читать далее
Всего голосов 11: ↑9 и ↓2+13
Комментарии7

Информация

В рейтинге
Не участвует
Откуда
Казань, Татарстан, Россия
Зарегистрирован
Активность