AI бот в telegram для любых проектов и идей

Пошаговая инструкция создания продвинутого AI чат-бота в телеге доступным языком. Без конструкторов чат-ботов знаний Python но с регистрациями и смс 🙂

Важный дисклеймер

Меня зовут Никита, и я продуктовый дизайнер. В этом пет-проекте попробовал себя сразу в 3 ролях: бэкендер, промт-инженер и девопсер.

Рассказ будет без профессиональных терминов, но со всеми ресурсами и артефактами, которые помогут вам в создании собственного AI-бота для любых задач.

А вот и сам бот Жиширик

А вот мой ТГ-канал, куда же без него

AI бот в telegram для любых проектов и идей

Начинаем проектирование бота как и любую задачу с чётко сформулированной цели и образа результата

Моя цель на старте была такой:

Создать с помощью AI умного чат-бота в телеге, который будет решать мои повседневные задачи, связанные с обработкой текста

Параллельно я хотел своими руками настроить сервер, написать код и запустить бота.

AI бот в telegram для любых проектов и идей

Опишите словами, как должен работать бот, включая все необходимые взаимодействия с AI или другими сервисами или ботами (например, Яндекс Картинки, ГигаЧат или пользовательский бот для заимствования контента из других пабликов)))).

Вот пример, как я изначально описал сценарий бота по сокращению текста в заметках:

Старт работы: Привет! Я Жиширик, твой личный копирайтер. Я не собираю и не храню данные, так что можешь смело работать с любыми текстами. Как я могу помочь? Меню: Саммарайзер Сократить Улучшить Подготовить текст для коллег Сценарий 1: Пользователь выбирает "Сократить": Сообщение от бота: "Отправьте текст, который нужно сократить." Меню: "Назад" (возврат в главное меню). Пользователь присылает текст. Сообщение от бота: "Сокращаю текст…" Бот отправляет текст от пользователя в GPT с промтом для сокращения. [Здесь про логику проверки одним запросом над другим] После получения отредактированного текста бот присылает первым сообщением только отредактированный текст. Вторым сообщением бот отправляет краткое пояснение того, что было изменено в тексте. Меню после получения отредактированного текста: Сократить еще Главное меню
Бесплатно
Бесплатно

Откройте BotFather, нажмите «Start» и введите команду /newbot. Укажите название и системное имя бота. После создания сохраните его HTTP API — он придет в сообщении и понадобится дальше для настройки бота

Стоимость ≈ 2 200 ₽
Стоимость ≈ 2 200 ₽

Почему именно Claude ?

На личном опыте убедился что claude.ai является самым мощным инструментом для написания кода на Python. Сравнивал с GPT-4o, ГигаЧат, YandexGPT 3 и Bard. Они пока не совсем корректно пишут код.

Для регистрации и дальнейшей работы нам понадобятся VPN, не .ru почта и сервис виртуальных номеров. Например, sms-activate.org или onlinesim.io

Оплата подписки claude.ai

Если вы, как и я, впервые создаёте бота на Python, то вам понадобится платная подписка на claude.ai. Только с ней вам хватит токенов для написания кода и всех итераций.

Для оплаты всех зарубежных подписок на свой страх и риск я использую oplatazabugor.ru. Пока сервис не подводили

Стоимость ≈ 1 200 ₽
Стоимость ≈ 1 200 ₽

1. Зарегистрируйтесь в личном кабинете разработчика на платформе openai. Этот кабинет не тоже самое, что и учетка для работы в чат-боте GPT.

2. Создайте проект: войдите в кабинет и нажмите “Create Project”.

3. Пройдите верификацию с помощью одноразовых смс.

4. Пополните счёт на $10 через oplatazabugor.ru или зарубежную карту. Для этого перейдите в раздел “Billing”. Что приятно — это не подписка, а именно счёт, с которого списывают по факту использования токенов.

10$ может хватить на 20 000 обработок среднего текста из 150-200 слов

5. Получите API-ключ: перейдите в “API Keys”, выберите модель gpt-4o-mini и нажмите “Create API Key”.

Стоимость ≈ 350 ₽
Стоимость ≈ 350 ₽

Регистрируем виртуальный сервер на котором будет находится ваш бот в стране, подходящей для работы без VPN с openai (не РФ). Советую делать это через сервис hostkey.ru так как у них есть сервера в Нидерландах.

Почему именно hostkey в Нидерландах?

  • Я очень люблю тюльпаны и мельницы
  • OpenAI не принимает запросы с серверов, находящихся в РФ
  • У меня не получилось накатить VPN на облачные сервера находящиеся в РФ: VK cloud и Beget
  • Крутая облачная платформа glitch.com просто не смогла принять мою оплату 🙂
AI бот в telegram для любых проектов и идей

Что арендовать

  1. Выбираем Аренда виртуальных серверов (VPS/VDS хостинг) и выбираем самый дешевый тариф.
  2. Операционная система: Ubuntu 20.04
  3. Оплачиваем удобным способом. Можно картой РФ
  4. Сохраняем логин и пароль для подключения к серверу.
Бесплатно
Бесплатно

Чтобы создать идеальный промт, используйте метод CARE:

  • C (Context): Учитывайте контекст задачи — предоставьте четкие инструкции и конкретные данные.
  • A (Action): Четко укажите, что нужно сделать.
  • R (Result): Опишите желаемый результат.
  • E (Error prevention): Убедитесь, что промт предотвращает возможные ошибки, уточняя ограничения.

Более подробно на эту тему написали в NNG

Вот пример запроса на сокращение текста, который вы можете использовать как шаблон для своих промтов

<КОНТЕКСТ> Вы - эксперт по сокращению текстов, способный сохранить основной смысл при значительном уменьшении объема. </КОНТЕКСТ> <ЗАДАНИЕ> Сократите предоставленный текст, сохранив его основной смысл и ключевые детали. </ЗАДАНИЕ> <ПАРАМЕТРЫ> <ПРОЦЕНТ_СОКРАЩЕНИЯ>{percentage}</ПРОЦЕНТ_СОКРАЩЕНИЯ> </ПАРАМЕТРЫ> <ИНСТРУКЦИИ> 1. Сократите текст примерно на указанный процент. 2. Сохраните основную идею и ключевые аргументы. 3. Удалите избыточную информацию и повторения. 4. Упростите сложные предложения, не искажая смысл. 5. Не меняйте контекст и смысл слов при сокращении. 6. Выдайте два сообщения: Сокращенный текст без пояснений. Краткое пояснение об изменениях. </ИНСТРУКЦИИ>
Бесплатно
Бесплатно

На этом этапе у вас должны быть HTTP API для Telegram-бота и API-ключ для GPT. Создайте проект в claude и опишите контекст вашего бота. Со знанием контекста нейросеть выдает более ожидаемый и стабильный результат.

Затем сформулируйте запрос в чате с claude. Вот пример моего стартового промта для claude.ai, который содержит весь необходимый контекст для создания бота

Привет, Claude! Я новичок в Python и разработке чат-ботов, но уже получил API-ключи для GPT-4-mini и Telegram-бота. Пожалуйста, помоги мне максимально подробно и пошагово: 1. Напиши код на Python для Telegram-бота, который принимает текст от пользователя, отправляет его на обработку GPT-4-mini через API и возвращает ответ пользователю. Используй пакеты `pyTelegramBotAPI` и `openai`, которые я установлю через pip. 2. Раздели код на несколько файлов: - **config.py**: для хранения API-ключей и других конфигурационных данных. - **bot_logic.py**: для основной логики бота, включая обработку сообщений и взаимодействие с GPT-4-mini. - **text_prompts.py**: для текстов ответов бота. - **keyboards.py**: для настройки клавиатур, которые помогут пользователю взаимодействовать с ботом. 3. Объясни, какие программы нужно использовать для работы с кодом (например, рекомендуй текстовый редактор или IDE, такие как Visual Studio Code, и покажи, как установить Python). 4. Подробно объясни, как установить необходимые библиотеки с помощью команд `pip install pyTelegramBotAPI openai`, и настроить окружение на виртуальном сервере для запуска бота. 5. Покажи пошагово, как сделать так, чтобы бот автоматически запускался при перезагрузке сервера (например, используя systemd или crontab). 6. Дай советы по отладке, мониторингу работы бота и устранению возможных ошибок, а также инструменты, которые можно использовать для этих задач. Ключ API для GPT: ID моего бота в Telegram:
AI бот в telegram для любых проектов и идей

Просто следуйте инструкциям от claude.ai в чате

AI шаг за шагом расскажет о том как:

  1. Загрузить код на сервер через терминал на вашем компьютере
  2. Настроить автономную работу бота
  3. Улучшить промт

Если возникают ошибки при работе бота

Просто передаёте логи claude.ai и он выдает пошаговое решение

AI бот в telegram для любых проектов и идей

🇷🇺 OpenAI работает только с серверами за пределами РФ. Чтобы сэкономить время и силы, сразу выбирай зарубежный хостинг.

🕗 Организуй версионирование бота, хотя бы по папкам. Это упростит откат на рабочие версии.

🤖 После первой итерации создай еще одного бота для тестирования новых функций. Его можно запустить на сервере или локально. На нем ты будешь проверять все новые фичи

⛔ Не обновляй основную версию, пока не протестируешь все на тестовом боте.

🤑 Когда появятся пользователи, настрой аналитику, чтобы понимать, какие функции востребованы, а что можно убрать.

Футер

Неплохая статья получилась: интересная, весёлая, порой немного грустная и, главное, поучительная. Подписывайтесь на мой ТГ — там ещё много интересного

1
1
3 комментария