Asror05 / asror-projects

"Добро пожаловать в мой репозиторий 'asror-projects'! Здесь вы найдете коллекцию моих проектов, в которых я работал и продолжаю работать. Включая веб-разработку, анализ данных, машинное обучение и многое другое. Присоединяйтесь, изучайте и вносите свой вклад!"
1 stars 0 forks source link

tgbot #3

Open Asror05 opened 6 months ago

Asror05 commented 6 months ago

import openai import telebot import logging import time

Кэширование ответов

cache = {}

Ваши ключи

openai.api_key = "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" bot = telebot.TeleBot("6498666440:AAF-EvfA75RdUaxMJOGNZHd9RKocMZ4qR2c")

Обработчик команды /start

@bot.message_handler(commands=['start']) def send_welcome(message): bot.send_message(message.chat.id, "Привет! Я бот, работающий на ChatGPT. Задайте мне любой вопрос, и я постараюсь ответить.")

Обработчик сообщений

@bot.message_handler(func=lambda message: True) def handle_message(message): try:

Кэширование

if message.text in cache:
  response = cache[message.text]
else:
  response = openai.Completion.create(
      model="gpt-3.5-turbo-instruct",
      prompt=message.text,
      temperature=0.7,
      max_tokens=2048,
      top_p=1.0,
      frequency_penalty=0.5,
      presence_penalty=0.0,
  )
  cache[message.text] = response
  time.sleep(1)  # Задержка между запросами

bot.send_message(message.chat.id, response['choices'][0]['text'])
del response

except Exception as e: logging.error(f"Произошла ошибка: {e.class.name}") bot.send_message(message.chat.id, f"Произошла ошибка: {e.class.name}")

Запуск бота

bot.polling()

Логирование

logging.basicConfig(filename='bot.log', level=logging.INFO)

Asror05 commented 6 months ago

Initial commit