• Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываються в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки работают только с Администрацией форума

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

python Гайд Создаём GPT 4 Turbo бота в Telegram

Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
23 868
218
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #1
Сегодня сделаем телеграм бота с GPT4 Turbo, который вышел совсем недавно.
В чём преимущества Turbo версии от обычного GPT4?
1. Информация до апреля 2023 года
2. Гораздо дешевле
3. Большой контекст(128k токенов)

Регистрация:

Переходим на

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

, вводим почту, подтверждаем, далее необходимо арендовать номер любой страны.
Я брал Индонезию на sms-activate.
На этом в целом всё, сейчас никаких API Ключей создавать не надо, переходим к следующему этапу.

После того, как зарегистрировали аккаунт OpenAI, необходимо пополнить его на 5$.
Необходимо это для того, чтобы нам открылся доступ к API GPT4 Turbo, таковы условия.
Пополнить можно через людей на нашем любимом форуме, либо в иных местах. В среднем цена за пополнение на 5$ варьируется от 600 до 800 рублей.

После того, как пополнили баланс, создаём API Ключ
Переходим в

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.


Далее нажимаем сюда


Нажимаем "Create new secret key"
Создаётся ключ, копируете его, сохраняете.

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

Телеграм Бот:


Переходим в бота:

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.


Пишем /start, далее пишем /newbot
Пишем название(нейм) бота


После того, как написали название, нам предлагают вписать юзернейм бота
Вписываем любой свободный юзернейм, который будет оканчиваться на "bot", либо "_bot"


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


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

Установка Питона:

Скачиваем установочный файл с официального сайта
Ссылка:

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

(

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

)
Обязательно нажимаем на галочку "Add Python 3.10 to PATH"


Создаем файл с расширением .py, вставляем туда код ниже

Python:
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
После установки библиотек переходим к настройке скрипта.


openai.api_key = "key" — Вместо "key" вставляем токен API OpenAI, который мы получили ранее
telebot.TeleBot('key') — Вместо "key" вставляем токен, который мы получили от BotFather
Теперь необходимо создать папку, куда мы поместим скрипт, и создадим папку, где будут храниться файлы, необходимые для работы контекста.
Папку со скриптом называем как угодно, перемещаем туда скрипт, и внутри этой папки создаем папку "users"


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

Запускаем скрипт.
Поздравляю! Вы великолепны! Вы получили доступ к абсолютно чистому GPT4 всего за 5$(+ 5$ триальных остаются на балансе, итого 10), вместо 20$ за ChatGPT Plus.
Используйте команду /clear для того, чтобы очистить историю сообщений(контекст).
 
Оффлайн

inoken

Участник
LV
2
 
18.03.2024
2
0
25
Награды
2
19

Репутация:

Спасибо большое за гайд хы
 

Поиск по форуму

Похожие темы:

Данный сайт использует cookie. Вы должны принять их для продолжения использования. Узнать больше....