Подготовка окружения: регистрация бота, получение API ключей OpenAI и настройка Google Cloud Console
Подготовка окружения: регистрация бота, получение API ключей Perplexity и настройка Google Cloud Console
Добро пожаловать на курс «Разработка ИИ-ассистента: Telegram и Google Таблицы». Это первая и фундаментальная статья, в которой мы заложим технический фундамент нашего проекта. Прежде чем писать код, нам необходимо подготовить инструменты и получить доступы к сервисам.
Учитывая ваши предпочтения и наличие подписки Perplexity AI Pro, мы построим архитектуру именно на базе этой нейросети. Это отличное решение, так как Perplexity предоставляет доступ к актуальным данным из интернета и мощным моделям, а их API совместим с популярными библиотеками.
Наша цель — создать систему, где:
- Telegram — интерфейс для общения.
- Perplexity AI — «мозг», обрабатывающий запросы и имеющий доступ к свежей информации.
- Google Таблицы — долгосрочная память и база данных.
1. Регистрация Telegram-бота
Первый шаг — создание «оболочки» для нашего ассистента. В экосистеме Telegram боты создаются через специального служебного бота — «Отца ботов».
Работа с BotFather
- Откройте Telegram и в строке поиска введите @BotFather. Обратите внимание на синюю галочку верификации — это официальный инструмент Telegram.
- Нажмите кнопку Start (или введите команду
/start), чтобы запустить диалог. - Отправьте команду
/newbotдля создания нового бота. - BotFather попросит вас придумать имя (Name). Это то, что пользователи будут видеть в списке чатов (например, Мой Perplexity Ассистент). Имя может быть на русском языке.
- Далее нужно придумать юзернейм (Username). Это уникальный идентификатор на латинице (например,
t.me/my_pplx_smart_bot).
Важно: Юзернейм обязательно должен заканчиваться на слово
bot. Например:MyCourseAI_botилиsmart_helper_bot.
Получение токена
После успешного создания BotFather пришлет вам сообщение с поздравлением. В этом сообщении будет находиться HTTP API Token.
Пример токена: 123456789:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw.
Этот токен — ключ от вашего бота. Никогда не публикуйте его в открытых источниках. Скопируйте его и сохраните, он понадобится нам при настройке конфигурации.
2. Получение API ключа Perplexity AI
Вместо стандартного OpenAI мы будем использовать мощь Perplexity. Огромным преимуществом Perplexity API является его полная совместимость с клиентскими библиотеками OpenAI, что упрощает разработку.
Генерация ключа
Так как у вас есть подписка Pro, вы имеете определенные преимущества (обычно это ежемесячные кредиты на использование API, которые обновляются каждый месяц).
- Перейдите на официальный сайт Perplexity AI.
- Войдите в свой аккаунт, где активна подписка Pro.
- Перейдите в настройки (Settings) -> раздел API.
- Вам может потребоваться привязать карту, если кредиты закончатся, но для начала работы часто хватает стартового баланса Pro-подписчика.
- Нажмите кнопку Generate API Key.
- Придумайте имя ключа, например
TelegramBotKey.
Сохранение ключа
Система покажет вам ключ, который начинается с pplx-....
Внимание: Ключ показывается только один раз. Скопируйте его немедленно и сохраните в безопасном месте. Если вы закроете окно, ключ восстановить не удастся, придется создавать новый.
Этот ключ позволит нашему боту отправлять запросы к моделям Perplexity (например, llama-3-sonar-large-32k-online), которые умеют искать информацию в интернете в реальном времени.
3. Настройка Google Cloud Console
Это самый технически насыщенный этап. Чтобы Python-скрипт мог читать и записывать данные в Google Таблицу, нам нужно создать «Сервисный аккаунт» (Service Account) — виртуального робота с правами доступа.
Создание проекта
- Перейдите в Google Cloud Console.
- В верхней панели нажмите на выпадающий список проектов и выберите New Project (Создать проект).
- Дайте проекту имя, например
AI-Assistant-PPLX, и нажмите Create. - Подождите уведомления о создании и выберите этот проект (кнопка Select Project).
Включение API
Нам нужно активировать два сервиса: Google Sheets (для таблиц) и Google Drive (для управления правами доступа к файлам).
- Откройте меню (три полоски слева) -> APIs & Services -> Library.
- В строке поиска введите
Google Sheets API. - Выберите его и нажмите кнопку Enable (Включить).
- Вернитесь в библиотеку (стрелка назад или снова через меню).
- Введите в поиске
Google Drive API. - Выберите его и также нажмите Enable.
Создание сервисного аккаунта
Теперь создадим «удостоверение личности» для нашего бота.
- Перейдите в меню APIs & Services -> Credentials (Учетные данные).
- Нажмите Create Credentials -> Service Account.
- Введите имя, например
bot-editor. Поле ID заполнится автоматически. - Нажмите Create and Continue.
- В поле Select a role выберите Editor (Редактор) или Owner (Владелец). Это критически важно, иначе бот не сможет писать в таблицу.
- Нажмите Continue, затем Done.
Получение JSON-ключа
- В списке сервисных аккаунтов (внизу страницы Credentials) нажмите на email только что созданного аккаунта (он выглядит как
bot-editor@ai-assistant-pplx.iam.gserviceaccount.com). - Перейдите на вкладку Keys (Ключи).
- Нажмите Add Key -> Create new key.
- Выберите формат JSON и нажмите Create.
- Файл автоматически скачается на ваш компьютер. Это секретный файл доступа. Переименуйте его в
creds.jsonи сохраните в папку будущего проекта.
4. Подготовка Google Таблицы
Мы получили ключи, но наш сервисный аккаунт пока не имеет доступа к конкретной таблице. Google Таблицы приватны по умолчанию.
- Создайте новую Google Таблицу (введите
sheets.newв браузере). - Назовите её, например,
AI Assistant Memory. - Откройте скачанный файл
creds.json(в Блокноте или редакторе кода) и найдите полеclient_email. - Скопируйте этот email (адрес сервисного аккаунта).
- В Google Таблице нажмите кнопку Настройки доступа (Share) в правом верхнем углу.
- Вставьте скопированный email, убедитесь, что стоит роль Редактор, и нажмите Отправить.
Теперь наш бот имеет официальное разрешение работать с этим документом.
5. Настройка окружения Python
Финальный этап — подготовка рабочего места разработчика.
Установка Python
Убедитесь, что у вас установлен Python версии 3.8 или выше. Проверка версии в терминале:
python --version
Создание проекта и виртуального окружения
Создадим изолированную среду, чтобы библиотеки проекта не конфликтовали с системой.
Выполните команды в терминале:
# Создаем папку проекта
mkdir ai_assistant_pplx
cd ai_assistant_pplx
# Создаем виртуальное окружение
python -m venv venv
# Активируем окружение
# Для Windows:
venv\Scripts\activate
# Для macOS/Linux:
source venv/bin/activate
Установка библиотек
Нам понадобятся следующие библиотеки:
aiogram— современный асинхронный фреймворк для Telegram ботов.openai— Важный момент: мы устанавливаем библиотеку OpenAI, так как Perplexity API полностью совместим с ней. Нам не нужна отдельная библиотека для Perplexity, мы просто перенаправим запросы на другой адрес.gspread— удобная библиотека для работы с Google Таблицами.python-dotenv— для безопасного хранения ключей.
Установите их одной командой:
pip install aiogram openai gspread python-dotenv
Файл конфигурации .env
Чтобы не писать ключи прямо в коде (это грубая ошибка безопасности), мы будем хранить их в файле переменных окружения. Создайте в папке проекта файл с именем .env и откройте его в текстовом редакторе.
Заполните его вашими данными:
TELEGRAM_TOKEN=ваш_токен_от_botfather
PERPLEXITY_API_KEY=pplx-ваш_ключ_perplexity
GOOGLE_SHEET_KEY=creds.json
Убедитесь, что файл creds.json также перемещен в эту папку.
Итоги
Мы успешно подготовили почву для разработки. У нас есть:
- Telegram-бот, зарегистрированный через BotFather.
- API ключ Perplexity, который даст нашему боту доступ к передовым моделям и поиску.
- Сервисный аккаунт Google, подключенный к нашей таблице.
- Настроенное окружение Python с библиотеками
aiogramиopenai.
В следующей статье мы напишем код, который свяжет эти компоненты воедино, и научим бота отвечать на вопросы, используя интеллект Perplexity.