Создаем бота CHAT GPT-4 Turbo в Telegram

2 мин

|

Ахой товарищи! Сегодня мы займемся созданием Телеграм бота, который будет задействовать последнюю версию Chat GPT. Основным преимуществом GPT-4 Turbo является расширенная база знаний до апреля 2023 года, а также расширенный контекст до 128k токенов.

Создаем Телеграм бота на основе GPT-4 Turbo

Для начала процесса создания бота нам потребуется аккаунт OpenAI. Переходим на https://platform.openai.com, вводим свою почту и подтверждаем ее. Затем арендуем номер любой страны, например, через sms-activate.

После успешной регистрации в OpenAI, необходимо пополнить аккаунт на 5$. Это условие для получения доступа к API GPT-4 Turbo. Пополнение можно совершить через торговцев на форумах или других площадках. Обычно цена за пополнение на 5$ колеблется от 600 до 800 рублей.

Когда баланс пополнен, мы можем приступить к созданию API-ключа.

API CHAT GPT

Переходим на https://platform.openai.com/ и нажимаем сюда:

  • Нажимаем “Create new secret key”

  • Генерируйте ключ, скопируйте его и сохраните.

После того, как создали API-ключ, необходимо создать бота в Telegram.

Telegram Bot

  • Переходим по ссылке в бота: https://t.me/BotFather.
  • Затем отправляем команду /start, после чего вводим /newbot.
  • Теперь указываем название для вашего будущего бота.

После указания названия бота, система предложит ввести юзернейм бота. Введите любой доступный юзернейм, который должен заканчиваться на “bot” или “_bot”. После этого вы получите токен API, который пригодится нам в дальнейшем. Сохраните этот токен в безопасном месте, так как он будет использоваться для взаимодействия с API вашего телеграм-бота.

Теперь давайте установим Python. В данной статье мы будем использовать версию 3.10.6.

Python

  • Скачайте установочный файл с официального сайта Python по ссылке: https://www.python.org/downloads/.
  • При установке обязательно отметьте опцию “Add Python 3.10 to PATH”.

Далее создаем файл с расширением .py и вставляем следующий код:

import os

print('Бот запущен!')

NUMBERS_ROWS = 6


import openai
import telebot

openai.api_key = ""
bot = telebot.TeleBot('')

if not os.path.exists("users"):
    os.mkdir("users")


@bot.message_handler(content_types=['text'])
def msg(message):
    if f"{message.chat.id}.txt" not in os.listdir('users'):
        with open(f"users/{message.chat.id}.txt", "x") as f:
            f.write('')

    with open(f'users/{message.chat.id}.txt', 'r', encoding='utf-8') as file:
        oldmes = file.read()

    if message.text == '/clear':
        with open(f'users/{message.chat.id}.txt', 'w', encoding='utf-8') as file:
            file.write('')
        return bot.send_message(chat_id=message.chat.id, text='История очищена!')

    try:
        send_message = bot.send_message(chat_id=message.chat.id, text='Обрабатываю запрос, пожалуйста подождите!')
        completion = openai.ChatCompletion.create(
            model="gpt-4-1106-preview",
            messages=[{"role": "user", "content": oldmes},
                        {"role": "user","content": f'Предыдущие сообщения: {oldmes}; Запрос: {message.text}'}], presence_penalty=0.6)

        bot.edit_message_text(text=completion.choices[0].message["content"], chat_id=message.chat.id, message_id=send_message.message_id)

        with open(f'users/{message.chat.id}.txt', 'a+', encoding='utf-8') as file:
            file.write(message.text.replace('\n', ' ') + '\n' + completion.choices[0].message["content"].replace('\n', ' ') + '\n')


        with open(f'users/{message.chat.id}.txt', 'r', encoding='utf-8') as f:
            lines = f.readlines()

        if len(lines) >= NUMBERS_ROWS +1:
            with open(f'users/{message.chat.id}.txt', 'w', encoding='utf-8') as f:
                f.writelines(lines[2:])

    except Exception as e:
        bot.send_message(chat_id=message.chat.id, text=e)



bot.infinity_polling()

Переходим к установке библиотеки и настройке скрипта.

Библиотеки и настройки

Отлично, теперь откройте консоль (win+r) и введите следующие команды:

pip3 install openai
pip3 install pyTelegramBotAPI

После установки библиотек мы готовы перейти к настройке вашего скрипта.

Вставляем токен API OpenAI в строку кода openai.api_key = "key", заменяя “key” на ваш полученный токен.

Также замените “key” в строке кода telebot.TeleBot('key') на токен, который вы получили от BotFather.

Теперь создайте папку, куда поместите ваш скрипт, и дополнительно создайте папку, где будут храниться файлы, необходимые для работы контекста. Поместите все необходимые файлы в эту папку. Назовите папку для скрипта по вашему усмотрению, поместите в нее сам скрипт, а затем внутри этой папки создайте подпапку с именем “users”.

Переменная NUMBERS_ROWS используется для определения количества сообщений, которые ChatGPT будет запоминать.

Готово! Запускаем скрипт.

Итог

Отличная работа проделана с получением доступа к GPT-4 за более выгодную цену. Теперь вы можете использовать команду /clear для очистки истории сообщений или контекста бота. Удачи в разработке бота!


Подписаться
Уведомить о
guest
1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Viktor
Viktor
3 месяцев назад

тут нашел бесплатный вариант: @GPT4Turborupro_bot