Для создания Telegram-бота с поддержкой GPT-4 на Python, потребуется использовать библиотеку python-telegram-bot для взаимодействия с Telegram API и openai для доступа к GPT-4. Следующие шаги помогут вам создать такого бота:
1. Установите необходимые библиотеки:
pip install python-telegram-bot==13.7 openai
2. Создайте нового бота в Telegram с помощью BotFather и получите токен.
3. Получите API-ключ для GPT-4 от OpenAI.
4. Создайте файл telegram_gpt4_bot.py и добавьте в него следующий код:
import logging
from telegram import Update, ForceReply
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext
import openai
# Вставьте сюда ваш API ключ OpenAI
OPENAI_API_KEY = 'your_openai_api_key'
openai.api_key = OPENAI_API_KEY
# Вставьте сюда ваш токен Telegram бота
TELEGRAM_TOKEN = 'your_telegram_token'
# Установите уровень логирования
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO
)
logger = logging.getLogger(__name__)
# Определите команды
def start(update: Update, context: CallbackContext) -> None:
user = update.effective_user
update.message.reply_markdown_v2(
fr'Привет, {user.mention_markdown_v2()}\!',
reply_markup=ForceReply(selective=True),
)
def help_command(update: Update, context: CallbackContext) -> None:
update.message.reply_text('Помощь! Отправьте любое сообщение, и я отвечу с помощью GPT-4.')
def handle_message(update: Update, context: CallbackContext) -> None:
user_message = update.message.text
response = get_gpt4_response(user_message)
update.message.reply_text(response)
def get_gpt4_response(prompt: str) -> str:
try:
response = openai.Completion.create(
engine="text-davinci-003", # Убедитесь, что используете актуальный движок GPT-4
prompt=prompt,
max_tokens=150,
n=1,
stop=None,
temperature=0.7,
)
return response.choices[0].text.strip()
except Exception as e:
logger.error(f"Error: {e}")
return "Произошла ошибка при обращении к GPT-4."
def main() -> None:
# Создайте обновляющий объект и передайте ему токен бота.
updater = Updater(TELEGRAM_TOKEN)
# Получите диспетчера для регистрации обработчиков
dispatcher = updater.dispatcher
# На команды start и help отвечаем функциями
dispatcher.add_handler(CommandHandler("start", start))
dispatcher.add_handler(CommandHandler("help", help_command))
# На все текстовые сообщения отвечаем функцией handle_message
dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, handle_message))
# Запуск бота
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
5. Замените your_openai_api_key и your_telegram_token на ваши реальные ключи.
6. Запустите бота:
python telegram_gpt4_bot.py
Ваш бот теперь будет слушать сообщения в Telegram и отвечать на них, используя GPT-4. Не забудьте проверить ограничения и цены на использование GPT-4 на платформе OpenAI, чтобы избежать неожиданных расходов.