Подготовили материал, который поможет любому создать собственного чат-бота себе в помощь. Передаём слово специалисту HR: он расскажет как все сделать даже без большого опыта в IT.

Меня зовут Андрей Пеплов, уже 7 лет я HRD в IT-компании и я хочу об этом поговорить.

Сиди себе, перекладывай бумажки и договаривайся с ресторанами на корпоративы — так видят мою работу сотрудники компании. Забывая при этом, что они постоянно и ежедневно:

  • несут мне свои заявления на отгулы;

  • постоянно дёргают по соцпакету — а у нас довольно сложная система под названием «каталог льгот»; 

  • постоянно заказывают справки о зарплате.

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

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

Сказано — сделано. Я когда-то давным-давно учился на айтишника, но разработкой программного кода не занимался, была другая работа. Так что привлекаю искусственный интеллект. 

Пошаговая инструкция для создания бота в Telegram

У меня есть аккаунт Perplexity PRO — обошёлся недорого, а пользы от него немало. 

Пишу промпт

Получаю ответ — очень короткий, но, вроде, по делу. Приведу начало.

Если кратко — то надо установить:

  • Python.

  • Библиотеки для Telegram, Google Sheets и какую-нибудь модель для распознавания естественной речи — на этой связке и будет работать бот.

Шаг 1. Создаю сервисный аккаунт в Google Cloud Console

Иду в эту неведомую гугловую консоль, делаю новый проект и долго ищу сервисные аккаунты. Создаю аккаунт, создаю ключ в json, файлик сохраняется на компе.

Шаг 2. Делаю таблицу и даю доступ сервисному аккаунту

Для тестирования сделал новую таблицу, в которой у меня должны храниться остатки отработанных ранее часов, вбил туда от балды данные в два столбца: табельный номер и остаток времени в часах. Почему табельный? Чтобы не связываться с персональными данными даже в теории. И дал доступ, как написала Perplexity, сервисному аккаунту.

Шаг 3. Создаю бота в Телеграм

Следую инструкции нейросети — там даже ссылочки рабочие, можно смело нажимать. Даю боту имя и идентификатор, получаю ключ API. Сохраняю ключ в текстовый файлик на всякий случай. 

Шаг 4. Начинаю разбираться с Python

Иду на сайт и скачиваю последнюю версию. Устанавливаю. Но для того, чтобы делать всё остальное, одного Пайтона (да-да, разработчики настаивают на таком произношении) мало. Нужна Linux-среда. Кто уже работает на этой операционке, тем хорошо. А у меня Windows 11, значит, нужно установить WSL. 

Не буду описывать это всё в подробностях — если что-то непонятно, всегда можно спросить любимую нейросеть, я так и делал на последующих этапах.

Итак, после установки WSL у меня появилась консоль. Всё, что в инструкции нейросети предваряется тегом #bash, нужно выполнять в этой консоли. 

Подсказка: если копируете что-то в консоль, нажимайте для вставки Shift+Insert, а не Ctrl+V. Ну а копировать из консоли — Ctrl+Insert.

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

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

Шаг 5. Создаю программу

Создаю пустой файл, вставляю туда текст, удаляю кривые символы и вставляю реальные значения вместо ВАШ_TELEGRAM_ТОКЕН и ID_ВАШЕЙ_ТАБЛИЦЫ. Кстати, вот где взять ID гугловской таблицы. Сохраняю файл под именем bot.py

Начинаю отладку. Естественно, сразу ничего не заработало. Основной принцип:

  • скопировать из консоли сообщение об ошибке;

  • скормить его нейросети и задать вопрос «Как исправить ошибку».

В результате perplexity переписала мне текст программы чуть более чем полностью, но, в итоге, программа заработала.

Кстати, если вы, как и я, кладёте свои файлы не в каталог Пайтона, а в отдельную папку с проектом, указывайте пути как при запуске, так и в самой программе. И помните, что в Linux в путях используется прямой слэш «/», а не обратный, как в Windows. Но если размещать скрипт бота на хостинге, то с путями придётся разбираться вновь — чем-то я чувствую.

Так выглядит экран с рабочим обработчиком бота в WSL
Так выглядит экран с рабочим обработчиком бота в WSL

Последняя ошибка, которую я отловил — в Google Cloud надо было включить Google Sheets API.

Наконец-то, после потраченных 4–5 часов чистого времени, я вижу в боте ожидаемую реакцию.

Я победил бота!

Выводы из пройденного материала.

Первое: бота в Телеграм можно создать, не зная никаких Пайтонов и библиотек, с помощью одной только нейросети и запросов.

Второе: в случае затруднений поможет та же самая нейросеть.

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

Четвёртое: если в продукте есть ИИ, то это заранее хорошо.

Радует, что из забавы нейросети превращаются в реальных помощников для обычных людей:

  • не программистов;

  • не промпт-инженеров;

  • не продвинутых айтишников.

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

Комментарии (0)