Перейти к содержимому

Основное меню
  • Главная
Кнопка: светлая/темная
Смотреть видео
  • Главная
  • Сегодня
  • Простой GPT-ассистент в Telegram на базе Яндекса и / Хабр
  • Сегодня

Простой GPT-ассистент в Telegram на базе Яндекса и / Хабр

Admin 2 часа назад 1 минута чтения Комментарии 0

Оглавление

Toggle
  • Простой GPT-ассистент в Telegram на базе Яндекса и Node.js
    • Telegram фреймворк
    • Распознавание и синтез голоса
    • Запросы к GPT модели
    • Собираем всё вместе
    • Вместо послесловия
    • Об авторе
        • Admin

Простой GPT-ассистент в Telegram на базе Яндекса и Node.js

В статье вас ждёт «сборка» очень простой связки из распознавания и синтеза речи, а также запросов в модель YandexGPT на Node.js. Наш телеграм бот будет получать голосовое сообщение, а затем распознавать его, скармливать в модель GPT и синтезировать полученный ответ в голосовое сообщение.

Хочется начать с небольшого предисловия. В ходе написания этого простейшего решения я потратил кучу времени на попытку интегрироваться с популярным OpenAI ChatGPT, но мои нервы вышли из чата (обход блокировки, HTTPS прокси и т.п.), поэтому я перешёл к Яндексу. Он встречает нас дружелюбной консолью, понятной документацией и грантом на тестирование. В целом, если гранта по каким-либо причинам нет, то мне на все тесты хватило 20 рублей.

Telegram фреймворк

Для работы с телеграм я взял самый лучший (на мой взгляд) фреймворк — GrammyJS. Немного про работу с телеграм: самый простой путь — это long polling, когда вы периодически опрашиваете сервер телеграмма о новых событиях, а дальше их обрабатываете — также отправляя HTTP-запросы. В целом, со всеми этими задачами прекрасно справляется Grammy.

Здесь хочется дополнить, что Grammy даёт очень гибкую систему привязки для обработки событий, о которой вы можете подробнее узнать на их офф.сайте. Если кратко, то вы можете указать, что вам нужны именно сообщения, содержащие голосовое сообщение, картинку или другой контент.

Для ответа голосовым Grammy предоставляет прекрасный метод внутри контекста: ctx.replyWithVoice . Он принимает в себя объект класса InputFile , который можно собрать из Buffer’a , потока или Uint8Array . Дальше библиотека сама разберётся с загрузкой файла на сервер телеграмма.

Например, это может выглядеть вот так:

Кстати, скачать голосовое из телеграмма тоже крайне просто:

Распознавание и синтез голоса

Для этой задачи мне посчастливилось найти прекрасный NPM пакет, который берёт на себя все задачи по отправке запросов и получению ответов от API Yandex Cloud. Для простоты прототипа я не стал связываться с потоковым распознаванием, да оно и тут и не нужно — голосовое сообщение можно передать целиком.

Первым делом нам нужно настроить доступы, я использовал сервисный аккаунт — это проще всего — https://cloud.yandex.ru/ru/docs/speechkit/quickstart/

А дальше воспользуемся пакетом, чтобы распознать голосовое и синтезировать его обратно:

Запросы к GPT модели

Яндекс предоставляет несколько моделей и даже даёт возможность дообучить модель под себя. Также Яндекс предоставляет два режима на выбор: чат и одноразовый промпт.

Мы действуем в рамках минимального прототипа, поэтому пойдём по самому простому пути — сделаем запросы к стандартной модели YandexGPT в режиме промптов. Для этого найти библиотеку мне не удалось, поэтому ниже будет «полотенце» кода с запросом.

Здесь я прокомментирую лишь пару ключевых моментов. Во-первых, массив messages , в котором мы видим два объекта с разными полями role . Согласно документации, с помощью role: ‘system’ мы можем «настроить» нашу модель, например, вот так: Ты профессиональный секретарь. Ты прекрасно разбираешься в составлении документов и можешь генерировать их текст по запросу . А role: ‘user’ остаётся для пользовательского запроса в рамках настройки.

Во-вторых, можно обратить внимание на настройки temperature и maxTokens — они позволяют нам настроить степень креативности (непредсказуемости) модели и ограничение в токенах на ответ, чтобы не скрутить весь бюджет сразу.

Собираем всё вместе

В целом, весь код лежит на Github: https://github.com/ByMsx/voice-ai-tg-helper/, а тут я лишь расскажу, как его запустить.

Для начала вам понадобится установленный Node.js 18-й версии или Docker, а дальше просто создаём .env файл, в котором указываем настройки:

А дальше просто раскатываем проект (вводим эти команды в терминал или командную строку).

Переходим в созданного через BotFather бота, нажимаем старт и записываем голосовое!

Вместо послесловия

Благодарю вас за внимание! Буду рад любой обратной связи. Дальше планирую изучать нейросети, а не только использовать готовые и делиться этим в статьях.

Об авторе

Admin

Administrator

Перейти на сайт Просмотреть все записи
Средний рейтинг
0 из 5 звезд. 0 голосов.
Вам нужно авторизироваться для того, чтобы проголосовать.

Навигация по записям

Предыдущий Мастопатия: виды, симптомы, народное лечение без гормонов
Следующий: Шоколадный соус из какао — рецепт с пошаговыми фото и видео

Связанные истории

ПРОВЕРКА УРОВНЯ И ДОЛИВКА ТОРМОЗНОЙ ЖИДКОСТИ В БАЧОК ГЛАВНОГО ТОРМОЗНОГО ЦИЛИНДРА
  • Сегодня

ПРОВЕРКА УРОВНЯ И ДОЛИВКА ТОРМОЗНОЙ ЖИДКОСТИ В БАЧОК ГЛАВНОГО ТОРМОЗНОГО ЦИЛИНДРА

Admin 27 минут назад 0
Хочу/могу: салонный уход за волосами дома
  • Сегодня

Хочу/могу: салонный уход за волосами дома

Admin 51 минута назад 0
Шоколадный соус из какао — рецепт с пошаговыми фото и видео
  • Сегодня

Шоколадный соус из какао — рецепт с пошаговыми фото и видео

Admin 1 час назад 0

Рубрики

  • Авто / Техника
  • Культура
  • Наука и технологии
  • Недвижимость сегодня
  • Общество
  • Сегодня
  • Спорт
  • Экономика

Возможно, вы пропустили

ПРОВЕРКА УРОВНЯ И ДОЛИВКА ТОРМОЗНОЙ ЖИДКОСТИ В БАЧОК ГЛАВНОГО ТОРМОЗНОГО ЦИЛИНДРА
  • Сегодня

ПРОВЕРКА УРОВНЯ И ДОЛИВКА ТОРМОЗНОЙ ЖИДКОСТИ В БАЧОК ГЛАВНОГО ТОРМОЗНОГО ЦИЛИНДРА

Admin 27 минут назад 0
Хочу/могу: салонный уход за волосами дома
  • Сегодня

Хочу/могу: салонный уход за волосами дома

Admin 51 минута назад 0
Шоколадный соус из какао — рецепт с пошаговыми фото и видео
  • Сегодня

Шоколадный соус из какао — рецепт с пошаговыми фото и видео

Admin 1 час назад 0
  • Сегодня

Простой GPT-ассистент в Telegram на базе Яндекса и / Хабр

Admin 2 часа назад 0
Copyright © 2026 All rights reserved. | ReviewNews от AF themes.