Free AI Bot — Telegram бот с бесплатными моделями ИИ через OpenRouter
Простой Telegram-бот, который общается с пользователем как обычный собеседник и использует только бесплатные LLM-модели через OpenRouter. Бот автоматически выбирает доступную free-модель, отслеживает ошибки (429/5xx) и переключается на следующую, чтобы всегда отвечать без задержек.
Возможности:
- Общение с пользователем в свободной форме
- Поддержка истории диалога (SQLite)
- Автоматический выбор бесплатных моделей
- Переключение между моделями при ошибках (rate-limits / provider errors)
- Спокойный, адекватный стиль общения
- Ограниченная креативность (temperature 0.3)
- Лёгкая структура проекта, минимальные зависимости Команды: /start — начать диалог /stop — остановить общение /delete — очистить историю пользователя
Выбор моделей осуществляется следующим образом:
- Бот использует переменную "OPENROUTER_MODEL_CANDIDATES="
- Берётся активная модель, если она ещё free.
- Если она дала ошибку 429/5xx — помечается как проблемная.
- Бот пробует следующую модель в списке (в рамках одного запроса).
- Если ни одна не ответила — возвращает последнюю ошибку.
- Если все условия соблюдены (лимит, доступ free версии) бот закрепляет модель и работает только с ней.
Установка и запуск
-
Клонируем репозиторий git clone https://github.com/PachkaKofe04/free_ai_bot.git cd free_ai_bot
-
Устанавливаем зависимости python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r requirements.txt
-
Копируем переменные из .env.example создаем .env в корне проекта
-
В .env указываем токен бота, ключ openrouter, список моделей.
-
Запускаем бота (python main.py)
ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ! Без иллюзий, вы должны понимать, что бесплатные модели сильно ограничены по лимитам. Отсюда возникает риск часто ловить 429 ошибки. Для более корректной работы можно пополнить баланс openrouter выбрать одну модель ИИ, идеальную по соотношению цена-качество (например 4-о mini), которая обойдется вам ~5$/мес, при регулярном общении. Данный проект создан исключительно в учебно-демонстрационных целях как простой пример интеграции Telegram-бота с внешними LLM-моделями через OpenRouter. Он не рассчитан на высокие нагрузки, массовое использование или промышленную эксплуатацию.