RU
Игорь Диев
Игорь Диев
8 подписчиков
цели
0 из 10 платных подписчиков
Когда наберу 10 подписчиков, буду делать больше уроков
1 из 2

Как сделать Телеграм-бота на базе ChatGPT на Python, который запоминает историю

В Телеграме бум чат-ботов на базе ChatGPT. В этой статье я расскажу, как написать программу на Python. которая будет использовать API OpenAI, чтобы у вас в боте тоже жил ваш собственный ChatGPT. 
Бот будет помогать переводить посты для соцсетей с русского на английский и добавлять в них хештеги.
1. Зайдите на сайт google collaboratory, авторизуйтесь с помощью google-почты.
2. В Google Collab создайте новый блокнот.
3. Выполните в открывшемся окне команды:
!pip install openai
!pip install telebot
4. Для выполнения команды нужно нажать на значок play.
5. Подождите, пока установятся модули openai и telebot. Появится сообщение successfully installed.
6. Удалите строчки !pip install openai и !pip install telebot.
7. Скопируйте и вставьте в то же поле ввода в Google Colab следующий код (см. файл). Вы можете открыть его с помощью простого "Блокнота".
Boosty Lesson1 Code (simple ChatGPT bot).py688 ByteСкачать
8. Сгенерируйте ключ для OpenAI. Для этого найдите в поиске или перейдите по прямой ссылке на platform.openai.com.
Если у вас нет аккаунта, создайте его и войдите в систему. Если вы в России, воспользуйтесь инструкцией.
После авторизации в системе нажмите на ваш аватар справа вверху и выберите View API keys.
Создайте секретный ключ и вставьте его в основном коде в кавычках вот здесь openai.api_key = "Ваш токен с сайта OpenAI".
9. Теперь зайдите в бот @botfather в Телеграме. Напишите ему команду /newbot. 
Botfather попросит придумать боту название и уникальную ссылку.
Далее вам будет секретный ключ, он будет находиться вот тут.
Вставьте его в коде вот сюда: bot = telebot.TeleBot ("Ваш токен из бота @botfather").
Обратите внимание, что TeleBot пишется с большой буквой T и B!
10. Также вы можете задать вашему боту картинку и описание с помощью бота @botfather. Для этого набираем /mybots, выбираем нашего бота, жмем Edit bot. Тут вы можете нажать на Edit biopic, Edit about и тд.
11. Собственно, все, переходите в Google Colab, нажмите кнопку play, вернитесь в бота в Телеграме, он должен работать.
12. Если вы забудете адрес вашего бота, вы всегда можете узнать его у @botfather по команде /mybots.
Обязательно напишите в комментариях, получилось ли запустить.
Если все получилось, то я вас поздравляю. Вы написали своего бота, работающего на базе ChatGPT (3.5). Таким же способом можно вызвать другие модели OpenAI.
Добавил код для запоминания истории. Это максимально простой способ, в коде указаны комментарии.
Boosty Code (simple ChatGPT bot) w history.py1.85 KbСкачать
avatar
увы на бесплатном тарифе с chatGPT данный вариант не сработает
Показать ещё ответы
avatar
Игорь Диев, возможно прикрыли лавочку, спасибо за статью и за статью на VC.ru
avatar
ПодкастТуманова, только что создал новый акк, на емейл жены, на ее телефон (зарубежный), она получила бесплатный грант
avatar
Там фишка в том, что если телефон уже был привязан к другому аккаунту ранее, то они не дадут бесплатных токенов. Возможно, трудности могут быть, если вы из РФ, как обойти расписано в этой статье: https://vc.ru/life/584440-kak-zaregistrirovatsya-v-openai-chatgpt-iz-rossii-v-2023-godu
avatar
Бот успешно работал, сейчас ругает на ModuleNotFoundError Traceback (most recent call last) in ()
ModuleNotFoundError: No module named 'telebot'
Показать ещё ответы
avatar
Arnold Walter, вот в этом моем руководстве в пункте 2 подробно расписал. Трудность возникнет только с Virtual Env. Попробуйте выполнить пункт и настроить VIrtual Env, по результатам напишите, пожалуйста
https://vc.ru/u/8087-igor-diev/632731-obuchenie-programmirovaniyu-s-nulya-vy-napishete-mvp-dlya-startapa-na-python-za-1-den-openai-api-google-api#Ustanavlivaem-PyCharm-dlya-programmirovaniya-na-Python
avatar
Arnold Walter, скажите, получилось скачать PyCharm?
avatar
Игорь, добрый день! Всё получилось, спасибо за мануал!
Однако, с таким ботом есть проблема: он не удерживает контекст. В итоге в каждом следующем вопросе постоянно приходится таскать за собой предыдущие наработки :). Как эта проблема решается при общении с ChatGPT по API?
Показать ещё ответы
avatar
Nicolay Vasiliev, boosty не дает прикрепить файл в комментариях, добавил код в конце статьи выше
avatar
Игорь приветствую, все получилось, а код для запоминания истории куда добавлять? В colab.research?
avatar
здравствуйте, почему очень долго грузится?

Уровни подписки

Нет уровней подписки
Наверх