Написал статью про бота https://dzen.ru/a/ZtViMST9sTvj1aZe. И подумал, как можно его попробовать прокачать, что бы было не сложно и интересно, решил подключить его к YandexGPT! Но как же я ошибался...
Надо объяснить. Чтобы сделать на ChatGPT нужна симкарта для приема смс не России (санкции). Ее можно купить, но в рамках данного проекта это слишком затратно (потому что данный проект стоит 0р!).
Первым делом пошел искать в интернет гайды реализации моей идеи. Нашел два варианта.
1. Программа запускается у самого Яндекса, а бот просто обращается к программе. По сути своей правильный подход, и бота туда же вписать и вообще получается красиво! Не надо постоянно включенным держать ноутбук что бы все работало. Но мне хотелось реализовать через бота на ноутбуке, так что идем дальше.
2. Второй нашел который мне прям нужен, на Python написан. Я его скопировал отредактировал с своими переменными, запустил, но бот корректно не заработал.
И начались поиски! Первое что надо понимать, это не бесплатно! Яндекс дает тестовые деньги. И на самом деле не мало, 3000р на 2 месяца.
При создании платежного аккаунта в yandex.cloud https://console.yandex.cloud. Советую не подключать основную карту. Я думаю у всех есть карта для платежей на странных сайтах!
Далее я думал как у всех , создаем API-ключи. Но у меня не вышло! Так что создание ключа пропустим. Начал читать мануалы и инструкции у самого Yandex. Первое что я нашел это пример. https://yandex.cloud/ru/docs/foundation-models/operations/yandexgpt/create-prompt#python_1
На примере видно, URL это куда обращается программа за ответом. У нас он должен быть таким же. Следующее что там надо найти это folder_id. Его можно найти на главной странице личного кабинета.
И третье что нам нужно это iam_token. IAM-токен — уникальная последовательность символов, которая выдается пользователю после прохождения аутентификации.
Там где нашел пример, вижу снизу написано IAM-токен. Думаю что там мне расскажут что за зверь такой! Перехожу и не слова о том как его получить, только как им пользоваться и сколько он живет. Ну хотя бы понятно что надо его каждый раз запрашивать, чтобы наверняка все работало!
Ниже нашел ссылки на инструкцию для получение его!
Из нее мы узнаем, что у нас есть у аккаунта OAuth-токен. И вот его можно обменять на IAM-токен. https://yandex.cloud/ru/docs/iam/operations/iam-token/create
Переходим по ссылке, где написано перейдите по ссылке. И добавляем все в наш код. Для получения IAM-токен
И все заработало! Бот начал отвечать на вопросы !
Ссылку на бота не даю, так как все равно он не будет постоянно работать, да и в целом будут другие проекты на нем тестится. А вот код дам! Он будет в https://t.me/+dsaslJfsJ0swYjFi Telegram.
В нем меняем три переменных OAUTH_TOKEN и FOLDER_ID
И ID самого бота!
В коде много лишнего, сделано для отладки. Так как долго не мог понять что не так.
Пример того что получилось.
Также чтобы код заработал надо установить
pip install python-telegram-bot
pip install requests
Просто вводим в командную строку эти две команды по очереди!
Спасибо что прочитали ! Все идеи можно воплотить! Ваш помощник по железкам и экономии Роман Тимошенко! До скорого!