Телеграм-бот для распознавания рукописного текста с использованием Google Docs OCR и LLM.
- Клонируйте репозиторий:
git clone https://github.com/kub1ce/XOR-AI
cd XOR AI- (Опционально) Создайте виртуальное окружение и активируйте его:
python -m venv venv
# Для Windows
venv\Scripts\activate
# Для Linux/Mac
source venv/bin/activate- Установите зависимости:
pip install -r requirements.txt- Перейдите на Google Cloud Console
- Создайте новый проект
- Включите Google Drive API:
- В меню слева выберите "APIs & Services" → "Enable APIs & Services"
- Найдите "Google Drive API" и нажмите "Enable"
- Создайте сервисный аккаунт:
- В меню слева выберите "APIs & Services" → "Google Drive Api" → "Credentials"
- Нажмите "Create Credentials" → "Service account"
- Укажите имя
- Нажмите "Готово"
- Скачайте ключ сервисного аккаунта:
- Откройте созданный сервисный аккаунт
- Перейдите на вкладку "Keys"
- Нажмите "Add Key" → "Create new key"
- Выберите формат JSON и скачайте файл
- Настройте доступ к Google Drive:
- Откройте Google Drive
- Создайте новую папку для бота
- Нажмите "Настройки" (шестерёнка) → "Настройки доступа"
- В поле "Добавить людей и группы" введите email сервисного аккаунта (из скачанного JSON-файла, поле
client_email) - Выберите роль "Редактор" и нажмите "Отправить"
- Откройте @BotFather в Telegram
- Отправьте команду
/newbot - Следуйте инструкциям для создания нового бота
- Скопируйте полученный токен бота
- Зарегистрируйтесь на io.net
- Получите API ключ в личном кабинете
- Создайте файл
.envна основе.env.example:
cp .env.example .env- Откройте файл
.envи заполните следующие переменные:
token- токен вашего Telegram бота (полученный от @BotFather)jsonId- имя скачанного JSON-файла с учетными данными Google CloudfolderId- ID папки на Google Drive (можно получить из URL папки : https://drive.google.com/drive/folders/ID_ВАШЕЙ_ПАПКИ)ioKey- токен из io.net
- Запустите бота:
python main.py-
В Telegram отправьте боту изображение с рукописным текстом.
-
Бот обработает изображение и вернет распознанный текст.
-
Вы можете дальше работать полученным текстом:
- Обработать дополнительно (Дополнительная обработка значительно улучшает качество и количество распознанного текста)
- Переводить на Русский/Английский языки
- Получать краский пересказ
- Сохранять в виде файлов
.txt,.pdfили.docx
- Python 3.8+
- Telegram Bot Token
- Google Drive API credentials
- io.net API Key
- Установленные зависимости из requirements.txt
XOR-AI-BOT/
├── app/
│ ├── handlers/ # Обработчики команд и сообщений Telegram
│ ├── prompts/ # Системные промпты для LLM-моделей
│ ├── services/ # Сервисы для работы с Google Drive и OCR
│ ├── utils/ # Вспомогательные функции и утилиты
│ └── settings.py # Настройки приложения
├── .env # Переменные окружения
├── .env.example # Пример конфигурации
├── main.py # Точка входа
├── requirements.txt # Зависимости
└── README.md # Документация
При возникновении проблем или вопросов, создайте issue в репозитории проекта.