Основи інженерії штучного інтелекту 10-11 класи
Умови завершення
Цей документ містить навчальні матеріали для учнів та вчителів курсу «Основи інженерії штучного інтелекту». Навчальна програма курсу за вибором "Основи інженерії штучного інтелекту" Автори: Рибак О.С., Радер Р.І. Протокол №7 від 19.08.2024. Зареєстровано у каталозі надання грифів навчальних матеріалів та навчальних програм № 4.0164-2024 (Текст програми (pdf))
6. Практичне застосування ШІ
6.5. Практична робота: Телеграм-бот
Цей проєкт дозволяє створити Telegram-бота, який відповідатиме на запитання користувачів з гумором, використовуючи штучний інтелект через OpenRouter API.
1. Встановлення бібліотек
У терміналі GitHub Codespace виконайте наступну команду:
pip install telepot openai
2. Отримання токенів
-
Telegram токен:
- Відкрийте @BotFather у Telegram
- Створіть нового бота командою
/newbot
- Скопіюйте отриманий токен
-
OpenRouter API ключ:
- Перейдіть на openrouter.ai
- Зареєструйтесь або увійдіть
- У вкладці API Keys створіть новий ключ
- Скопіюйте ключ
3. Додавання секретів у GitHub Codespaces
У налаштуваннях репозиторію GitHub:
- Перейдіть до Settings → Secrets and variables → Codespaces Secrets
- Додайте два нові секрети:
Назва | Значення |
---|---|
TG_KEY |
Токен вашого Telegram-бота з BotFather |
OPENROUTER_KEY |
Ваш API ключ із openrouter.ai |
4. Створення файлу main.py
Створіть у корені проєкту файл main.py
зі наступним вмістом:
import telepot
from telepot.loop import MessageLoop
from openai import OpenAI
import os
from dotenv import load_dotenv
load_dotenv()
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key=os.environ["OPENROUTER_KEY"],
)
def message(msg):
content_type, chat_type, chat_id = telepot.glance(msg)
print(content_type, chat_type, chat_id)
completion = client.chat.completions.create(
model="openai/gpt-4o-mini",
messages=[
{"role": "system", "content": "Ти — бот, що відповідає з гумором на запитання."},
{"role": "user", "content": msg['text']}
]
)
bot.sendMessage(chat_id, completion.choices[0].message.content)
bot = telepot.Bot(os.environ["TG_KEY"])
MessageLoop(bot, {'chat': message}).run_forever()
5. Запуск бота
У терміналі виконайте:
python main.py
6. Перевірка
- Відкрийте чат з вашим Telegram-ботом
- Надішліть будь-яке запитання
- Бот надасть відповідь з гумором