ChatGPT-бот на Python
Последние месяцы поставили рекорд по количеству программ, интегрированных с искусственным интеллектом. Я, конечно, тоже не смог остаться в стороне.
В результате появился проект pokitoki — это чат-бот, который использует языковую модель ChatGPT (она же GPT-3.5) от OpenAI.
Некоторые возможности:
- Работает в личных и групповых чатах.
- Отвечает на прямые вопросы и упоминания.
- Можно переспросить или дополнить последний вопрос.
- Можно задавать уточняющие вопросы.
Личные чаты
В личном чате бот работает как ваш персональный ассистент.

Чтобы разрешить личные чаты с другими пользователями, пропишите их в настройке telegram_usernames
.
По умолчанию у бота ужасная память, поэтому он не помнит предыдущие реплики. Но можно задавать уточняющие вопросы через ответную реплику или плюсик:


Команды:
/retry
— переспрашивает последний вопрос/help
— показывает помощь
Чтобы перефразировать или дополнить последний вопрос, отредактируйте его. Бот заметит это и ответит на уточненный вопрос.
Группы
Чтобы бот ответил на вопрос в группе, тегните его на уже заданном вопросе или задайте прямой вопрос:


Чтобы бот отвечал всем участникам группы, пропишите ID группы в настройке telegram_chat_ids
. Если настройка не задана, бот игнорирует вопросы от всех участников группы, кроме перечисленных в telegram_usernames
.
Если не знаете ID группы, команда /version
поможет его выяснить:
Chat information:
- id: -1001405001234
- title: My Favorite Group
- type: supergroup
Bot information:
- id: 5930739038
- name: @pokitokibot
- version: 56
- usernames: 6 users
- chat IDs: []
- access to messages: True
Как установить
- Получить ключ для OpenAI API
- Получить токен для телеграм-бота от @BotFather
- Скопировать
config.example.yml
вconfig.yml
и прописать там ключи. - Запустить бота:
docker compose up --build
Бот сознательно сделан максимально простым, чтобы можно было быстро разобраться в коде.
Подписывайтесь на канал, чтобы не пропустить новые заметки 🚀