Ques/Help/Req 5 ETL для обработки данных из Python-ботов

XakeR

Member
Регистрация
13.05.2006
Сообщения
1 912
Реакции
0
Баллы
16
Местоположение
Ukraine
На обложке статьи изображен “зоопарк” технологий, использующихся в моей компании в для проекта чат-ботов. Этот цикл статей подойдет для всех, кто работает с разговорными интерфейсами: разработчиков, дата-аналитиков, сценаристов чат-ботов. Поскольку речь идет о наладке потоков данных, то имеет смысл уточнить: это подойдет проектам, у которых появились данные, не обязательно большие. В моем случае речь идет о 7 тысячах обращений ежемесячно, что в случае с текстовыми данными генерирует менее 500 Мб ежемесячно.

Открываю цикл статей, описывающий ETL (extract, transform, load) – наладку потоков пользовательских данных из различных питонических и не только ботов. Спустя несколько промежуточных продуктов информация оказывается в конечном артефакте дата-анализа – отчете Google Looker (ex-Data Studio).

Dialogflow​


Первый кейс – Dialogflow. Мы подробно рассмотрим, как выглядит путь логов от конструктора до BI-системы отчетности. Подробно – значит пошаговые инструкции со скриншотами на базе документации и возможностью получить помощь автора в комментариях на случай затыков. Вы узнаете, как:

  1. Настроить выгрузку логов Dialogflow.
  2. Освоить замысловатый язык запросов Logs Explorer.
  3. Настроите Logs Router Sink (“раковину”) – утилиту для перегонки логов в нужное хранилище.
  4. Познакомитесь с мощнейшей скоростной базой данных BigQuery, позволяющей за считаные секунды обрабатывать огромные массивы распределенных данных. Вы научитесь создавать т.н. представления, то есть преобразовывать данные с помощью SQL-запросов в удобный для отчетности вид.
  5. Настроите свой первый отчет в Google Looker на внешнем источнике данных.

5 ETL для обработки данных из Python-ботов0


Создание намерения в консоли Dialogflow

aimylogic.com​


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

  1. С редактором потоков Aimylogic, то есть no-code-решением для автоматизации общения с клиентами.
  2. Reporter API – то есть методу выгрузки информации о диалогах с помощью HTTP-запросов. Многим из нас знакомый Postman будет перемежаться с Python requests. Я покажу разницу между этими двумя решениями: как при кажущейся их простоте и “дырявой” документации продукта получать идентичный результат.
  3. Поймете, как выбирать VPS (“виртуальный частный сервер”) из обширного списка предложений в сети. Я покажу наиболее экономичные решения и важные фичи выбранного мною timeweb.cloud. Для работы с регулярными запросами используем Linux.
  4. Научитесь создавать скрипты, регулярно подгружающие логи в базу данных с помощью популярного opensource-решения Apache Airflow. Вы узнаете, как подключать репозиторий со своими DAG-скриптами, отправлять уведомления в мессенджер Telegram.

5 ETL для обработки данных из Python-ботов1


Дальнейший путь пользовательских данных дублирует часть первого кейса, то есть BigQuery → Looker.

aiogram​


Третья история – это Python-библиотека aiogram. Эту платформу мы используем для небольших временных решений, таких как квесты, потому в стек вошел еще и SQLite. В этой рубрике вы познакомитесь:

  1. С кодом квеста, особенностями aiogram – чувствительностью к разметке.
  2. Научитесь встраивать SQL-запросы прямо в код Python.

5 ETL для обработки данных из Python-ботов2


Часть кода, отвечающая за взаимодействие с базой данных

И конечно, данные преодолеют тот же путь вплоть до Looker.

chatGPT​


Покуда в широкие массы не попала GPT4, мы используем API версии 3.5-turbo (документация). В этой рубрике вы узнаете:

  1. Как настроить API с нуля.
  2. Как осуществить Fine-Tuning – дообучение модели на собственных данных.
  3. Как наладить экспорт результатов диалога в свою Data Studio.

5 ETL для обработки данных из Python-ботов3


NodeJS​


Хоть этот зверь и не из мира Python, все же данные, генерируемые этим проектом, обрабатываются с помощью вышеупомянутого языка (документация). Здесь мы увидим:

  1. Почему порой имеет смысл оставаться на SQLite.
  2. Как осуществлять SQL-инъекции с помощью командной строки.
  3. Как подрузить слепок базы данных в BigQuery с помощью командной строки.

5 ETL для обработки данных из Python-ботов4


Выбор вопроса по коду, проверка “отвеченности” вопроса

Какие еще платформы рассмотреть от условного Logs API до BI-системы?

  • telethon
  • python-telegram-bot
  • pyTelegramBotAPI
  • telebot
  • Просто хочу увидеть результат

Написать свой вариант
 
198 175Темы
635 146Сообщения
3 618 414Пользователи
drakkon12345Новый пользователь
Верх