• Добро пожаловать на сайт - 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 Гайд Пишем Телеграм бота на Python c использованием API ChatGPT

Оффлайн

wlux.net

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

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #1


Данная статья является вольным переводом статьи на

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

, плюсом от себя реализация API ChatGPT в Телеграм боте.

Тема как написать телеграм бота уже довольно тривиальная, статей в интернете полно, поэтому тут я затронул это дело не так глубоко, ниже выложу ссылки на исходный код, разобраться будет не сложно. Основным мотивом написания статьи послужил тот факт, что

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

не доступен в ряде стран, в том числе в России, и хотелось сделать его по настоящему общедоступным.

Готовый/работающий телеграм бот ChatGPT

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


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

.

На вопрос "Кто ты?" сама нейросеть отвечает примерно следующее "Я - ChatGPT, крупнейшая языковая модель, созданная OpenAI. Я разработана для обработки естественного языка и могу помочь вам ответить на вопросы, обсудить темы или предоставить информацию на различные темы".

Другими словами, по моему субъективному мнению нейросеть затачивается в первую очередь для поддержки разговора, в идеале показать, что там сидит живой человек, а не обученная AI модель. Поэтому когда будете играть с чатом не забывайте об этом, не следует ожидать от чата достоверных и точных данных, или глубокого смысла, сейчас она не об этом, пока еще не об этом.

Итак, как получить доступ к сервису

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

из запрещенных стран написано в статье на

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

, хочу обратить ваше внимание, что будет необходимо сперва создать gmail почту с подтверждением по СМС на иностранный номер телефона, затем при регистрации на сайте ChatGPT также подтвердить номер телефона по СМС, и эти два номера телефона совсем не обязательно должны быть одинаковыми, поэтому сервисы по продаже номеров мобильных телефонов на одну смс вполне годятся.

Установка пакета​

Сперва устанавливаем необходимый пакет в python:

Код:
# Install openai
pip install openai

# Import Library
import openai

Подробнее об API OpenAI можно прочитать в документации:


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



Получаем API ключ

Сгенерировать API ключ можно после регистрации на сайте по адресу:


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



# Предоставляем ключ API
openai.api_key = "Your_Key"

Выбираем обученную модель​

Выбираем обученную модель, а именно “text-davinci-003”, она является самой мощной моделью GPT-3 и обучалась на данных до июня 2021 года. Узнать больше о различных моделях Вы можете здесь:


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



# Выбираем обученную модель
engine="text-davinci-003"

Проверяем модель​

Протестируем модель! Начнем с того, что попросим ChatGPT назвать лучшую Python библиотеку по машинному обучению:




Код выше указывает использовать модель “text-davinci-003”, с температурой 0,5. Температура представляет собой число от 0 до 1. Меньшее число означает более четко определенный ответ, в то время как большее число позволяет модели брать на себя больший риск. Ответ будет выглядеть примерно так:

# Выводим ответ
print(completion)



Выводим только текст ответа:

# Печатаем только текст ответа
print( completion.choices[0]['text'] )
У меня был такой ответ:
Scikit-learn.

Идем дальше! Как насчет того, чтобы прописывать вопрос в терминале и там же получать ответ:


Собственно в коде выше после запуска, скрипт ждет ввода данных из-за функции input(). Ответ будет получен только после ввода запроса.

Оборачиваем код в функцию​

Для удобства, обернем полученный код Python в простую функцию:




Теперь все, что Вам нужно сделать, это написать свой вопрос в функции «ask()».


Как видим API ChatGPT прост в использовании, но имейте в виду, что ответы, которые он дает, не всегда на 100% верны.

Прикручиваем API ChatGPT к телеграм боту​

Исходники телеграм бота выложил в

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



Для создания телеграм бота нам понадобится токен, который мы можем получить у

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

. Там же можно задать название бота, изображение и описание.

Клонируем репозиторий:

git clone git@github.com:ViktorAllayarov/ChatGPT_telegram_bot.git

# переходим в папку с проектом
cd ChatGPT_telegram_bot

Далее создаем локальное виртуальное окружение:

python3 -m venv env
# или
py -3.10 -m venv env

Переходим в виртуальное окружение и обновляем пакетный менеджер pip:


В файле main.py есть кусок кода, который тянет переменные среды окружения, с помощью библиотеки dotenv:

env = {
**dotenv_values(".env.prod"),
**dotenv_values(".env.dev"), # override
}
openai.api_key = env["API_KEY_CHATGPT"]
bot = telebot.TeleBot(env["TG_BOT_TOKEN"])
db_link = env["DB_LINK"]

поэтому нам необходимо создать файл .env.prod или .env.dev (или оба файла) и задать там необходимые переменные


Теперь можно запустить проект:

 
Оффлайн

iwanttodie

Местный
Участник
LV
3
 
13.09.2023
99
0
36
Награды
5
25
Пол
Муж.

Репутация:

Технологии не стоят на месте, пора и мне с него сдвинуться. Спасибо автору
 
Оффлайн

blityyyy

Местный
Участник
LV
3
 
23.05.2023
56
1
26
Награды
5
23

Репутация:

все подробно описано, спасибо
 
R Оффлайн

rtr12345

Участник
LV
3
 
22.11.2023
29
0
28
Награды
4
24

Репутация:

Спасибо, нужно будет освоить создание ботов
 
O Оффлайн

offhard

Участник
LV
2
 
03.02.2024
7
0
24
Награды
2
36

Репутация:

Ошибка Python-dotenv could not parse statement starting at line 2
 
Оффлайн

wlux.net

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

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #6
Оффлайн

bibidastr228

Участник
LV
3
 
23.07.2023
5
0
25
Награды
3
26

Репутация:

Боже как это все тяжело скажите где умения писать коды на PYTON будут востребованы в будущем? через лет 3-5? Спасибо за ответ!
 
Z Оффлайн

Zeroappled

Участник
LV
2
 
18.02.2024
6
0
16
Награды
2
26

Репутация:

Интересно было почитать, как это все работает в нынешнее время
 
R Оффлайн

radion666

Участник
LV
0
 
26.02.2024
7
0
6
Награды
1
46

Репутация:

Интересно надо попробовать что получиться
 
A Оффлайн

aksiere

Участник
LV
2
 
03.03.2024
17
0
25
Награды
2
24

Репутация:

Очень полезно, спасибо !
 
J Оффлайн

Jedius

Участник
LV
0
 
05.03.2024
7
0
6
Награды
1
34

Репутация:

вроде бы хороший мануал
 
M Оффлайн

mlt_melt

Участник
LV
0
 
05.07.2024
2
0
6
23

Репутация:

Хм, интересно, нужно попробовать
 
M Оффлайн

Mr.FMR

Участник
LV
2
 
14.03.2024
5
0
16
Награды
2
45

Репутация:

Я на Replit как то поставил бота, все ничего. Долго жил, но потом плюнул. Надоело токены меняять, да и халявно это сейчас все, скачал приложение и тг не нужен.
 

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

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

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