Привіт, друже! Сьогодні я покажу частину свого проекту, реалізовувати та покращувати який я буду в майбутніх дописах.
Зараз я розповім та покажу код, який може генерувати текст на основі того, що ти йому кажеш. Для цього я використав бібліотеку Telebot та API від Open AI.
Ось результат:
Для початку імпортуємо наші інструменти до проекту
pip install openai
pip install telebot
import telebot
import os
import openai
Тепер, коли ми маємо все для роботи, треба прописати токени, щоб наш код працював саме з нашим ботом та мав саме ту модель ШІ, яка потрібна нам.
#Тут токен з особистого кабінету OpenAI
openai.api_key = ("YOUR-TOKEN")
#Тут токен який ви мали отримати в BotFather
token_tg = "YOUR-TOKEN"
Так,а наступна частина кода найважча. Тут, для розуміння, вам треба ознайомитися з документацією(я залишив вище), а можна й просто все перепитати в ChatGPT. Він люб’язно підкаже що до чого.
bot = telebot.TeleBot(token_tg)
# Обробник повідомлень зі стікерами
@bot.message_handler(content_types=['sticker'])
def handle_sticker(message):
# Отримуємо ідентифікатор файлу стікера
file_id = message.sticker.file_id
print('ID файлу стікера:', file_id)
# Обробник повідомлень з текстом "hello"
@bot.message_handler(func=lambda message: 'hello' in message.text.lower())
def send_sticker(message):
# Отримуємо ідентифікатор файлу стікера
file_id = 'CAACAgIAAxkBAAMqZEjRGdcdjkENxnx3CtZXoV9bEr0AApsnAALPomhIr1gpi8FE4aIvBA'
# Надсилаємо стікер відповідно до ідентифікатора файлу
bot.send_sticker(chat_id=message.chat.id, sticker=file_id)
# Обробник всіх інших повідомлень
@bot.message_handler(func=lambda message: True)
def generate_response(message):
# Викликаємо OpenAI API для отримання відповіді
response = openai.Completion.create(
engine="text-curie-001",
prompt=message.text,
max_tokens=50
)
# Відправляємо відповідь користувачеві
bot.send_message(message.chat.id, response.choices[0].text)
# Запускаємо бота
bot.polling(none_stop=True)
Я спробував прокоментувати усі моменти з коду, але його й без того легко зрозуміти. Особливо на прикладах наведених в документації. В майбутньому я додам посилання на код через гіт хаб, щоб користуватися їм було набагато зручніше.
Усі непорозуміння можете обговорити зі мною в тг або коментарях.