Найти тему
Мир IT | Нейросети

Как создать своего телеграм бота с ChatGPT?

Для начала узнаем, что такое СhatGPT и для чего он нужен?

🤖ChatGPT - это современный искусственный интеллект, который может стать вашим верным спутником и помощником в повседневной жизни. За считанные мгновения он способен помочь в решении множества задач.

🧠 ChatGPT обладает широкими знаниями по различным областям, поэтому он может помочь вам найти ответы на различные вопросы - от банальных до сложных. Интересует вас история, научные факты, или новости последних дней? ChatGPT знает ответы на все!

📚 Но ChatGPT не только источник информации. Он также может стать отличным помощником для обучения и самосовершенствования. Он может помочь в изучении нового языка, предложить интересную литературу или даже поделиться советами по кулинарии.

💼 Кроме того, ChatGPT может быть полезным инструментом в бизнесе. С его помощью вы можете разрабатывать новые идеи, составлять планы, анализировать данные и многое другое. ChatGPT - ваш надежный партнер, готовый помочь в решении деловых задач.

💬 Но самое удивительное в ChatGPT - его возможность поддерживать беседу на любую тему. Благодаря уникальной способности адаптироваться к собеседнику, он всегда готов обсудить как повседневные вопросы, так и высокоинтеллектуальные темы.

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

Шаг 1: Создайте аккаунт в Telegram и получите токен бота.

  • Зайдите в Telegram и найдите бота @BotFather.
  • Начните диалог с @BotFather и создайте нового бота с помощь команды /newbot.
  • Далее придумайте имя и юзернейм для вашего бота, юзернейм должен выглядеть примерно так - botfather_bot .
  • Скопируйте полученный токен бота.

Шаг 2: Зарегистрируйтесь в openai.com и получите api - ключ.

  • Для этого включите vpn , так как openai в россии не работает.
  • Купите иностранный номер чтобы получить сообщение на него, так как российские номера не подходят, я использовал сайт https://grizzlysms.com, вам потребуется 200 рублей.
  • Зарегистрируйтесь в openai и создайте ключ в своем личном кабинете нажав на view api keys.
  • Скопируйте api key и сохраните куда нибудь.

Шаг 3: Настройка окружения разработки.

Шаг 4: Напишите код для вашего телеграм-бота с использованием модели ChatGPT.

  • Импортируйте необходимые модули и библиотеки.
  • Создайте функцию, которая будет обрабатывать входящие сообщения и генерировать ответы с помощью модели ChatGPT.
  • Настройте обработчики сообщений и запустите бота.

Пример кода для создания телеграм-бота с использованием ChatGPT:

import openai
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor

В этом блоке импортируются необходимые модули и библиотеки, включая openai для работы с API OpenAI, aiogram для создания Telegram-бота,

openai.api_key = OPENAI_API_KEY

Здесь устанавливается API-ключ для OpenAI. Вместо переменной OPENAI_API_KEY вводите свой api ключ от openai.

bot = Bot(token=TELEGRAM_BOT_TOKEN)
dp = Dispatcher(bot)

Здесь создаются экземпляры классов Bot и Dispatcher из модуля aiogram. Вместо TELEGRAM_BOT_TOKEN вводите свой токен полученный из бота BotFather Объект dp представляет диспетчер, который будет обрабатывать входящие сообщения бота.

async def ai(prompt):
try:
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": 'Тебя зовут Вася и ты знаешь ответы на любые вопросы'},
{"role": "user", "content": prompt}
]
)

return completion.choices[0].message.content
except:
return None

Это функция ai, которая использует модель GPT-3.5 Turbo для генерации ответа на заданный пользователем вопрос. Входной параметр prompt представляет текст вопроса пользователя. Внутри функции происходит вызов API OpenAI для создания запроса на завершение чата с моделью. В запросе передаются роли "system" и "user" с соответствующими сообщениями. Функция возвращает сгенерированный ответ или None в случае ошибки.

@dp.message_handler(commands=['start', 'help']) def start(message):
async def send_welcome(message: types.Message):
await message.reply("Привет! Что вас интересует?")

Это обработчик команд /start и /help. Когда пользователь отправляет одну из этих команд, вызывается функция start, которая отправляет приветственное сообщение пользователю.

@dp.message_handler() async def echo(message: types.Message):
answer = await ai(message.text)
if answer is not None:
await message.reply(answer)
else:
await message.reply('УПС! Произошла неизвестная ошибка, попробуйте еще раз')

Это обработчик всех остальных сообщений от пользователей. Он вызывает функцию ai для генерации ответа на основе текста сообщения пользователя и отправляет этот ответ пользователю. Если произошла ошибка при вызове функции ai, отправляется сообщение об ошибке.

executor.start_polling(dp, skip_updates=True)

Эта строка запускает бесконечный цикл получения обновлений от Telegram для бота с использованием объекта dp (диспетчера). Бот будет получать новые сообщения и обрабатывать их с помощью соответствующих обработчиков.

Весь код вместе создает Telegram-бота, который использует модель GPT-3.5 Turbo.

И на этом ваш телеграмм бот готов, переходите на мой телеграмм канал https://t.me/mir_it где вы можете мне задать интересующий вас вопрос по статье, в канале я буду выкладывать новые статьи и интересные новости. Удачи вам в своих начинаниях!