Мой блог
Как организовать общение с искусственным интеллектом через обычные SMS
В условиях нестабильного мобильного интернета или при использовании кнопочных телефонов доступ к современным цифровым сервисам может быть сильно ограничен. Однако разработчики находят нестандартные пути интеграции, позволяя отправлять запросы и получать ответы от нейросетей привычным текстовым способом. Рабочим решением становится связка, которая позволяет настроить общение с ИИ по SMS без необходимости постоянного подключения к мобильному интернету или мессенджерам.
Подобный исследовательский подход часто применяется для быстрой проверки идей: достаточно сформулировать запрос в виде сообщения и дождаться ответа от сервера, обрабатывающего поступающие данные.











Что потребуется для реализации проекта
Для создания собственной шлюзовой системы потребуется минимальный набор оборудования и цифровых ресурсов. В первую очередь необходим старый аппарат под управлением операционной системы Android (рекомендуются версии с 8 по 11, хотя подойдут и более ранние сборки), который будет выполнять роль шлюза. Также потребуется отдельная сим-карта с безлимитным пакетом текстовых сообщений для отправки запросов и приема ответов.
Кроме мобильного устройства, инфраструктура включает в себя арендованный виртуальный сервер (VPS) в российской юрисдикции с поддержкой KVM-виртуализации, выделенный домен для настройки маршрутизации и бесплатный доступ к API языковой модели. На практике в качестве демонстрационного оборудования использовался старый смартфон, а серверные мощности были развернуты на базе локального хостинг-провайдера.
Архитектура и программное обеспечение
Программная часть разрабатывалась с привлечением ИИ-агента в несколько итераций: написание кода, проверка, исправление ошибок и финальное ревью. Итоговый стек технологий включает в себя язык программирования Python, фреймворк FastAPI для обработки веб-запросов, легковесную базу данных SQLite и веб-сервер Caddy.
В качестве языковой модели используется бесплатный API отечественного ИИ-сервиса. Приложение задействует токен авторизации для получения временного ключа доступа, который обновляется по мере поступления входящих сообщений.

Основные конфигурационные параметры
При работе с текстовыми сообщениями учитываются технические ограничения операторов связи. Одно стандартное кириллическое сообщение вмещает до 70 символов, после чего происходит автоматическая склейка. Для корректной работы системы задаются следующие параметры:
- System_prompt — базовый системный промт с требованием отвечать на русском языке кратко (до 200 символов), без использования эмодзи и разметки markdown.
- Max_reply_units — жесткий лимит символов для отправляемого ответа, разбиваемый на части с учетом заголовков конкатенации.
- Max_tokens — ограничение на длину ответа языковой модели для предотвращения зависания мысли и удержания в рамках заданного объема.
- Max_sessions — максимальное количество активных сессий (по умолчанию десять), каждая из которых автоматически удаляется при отсутствии активности в течение суток.
- History_messages — ограничение на количество хранимых в памяти сообщений для сохранения контекста диалога.
Пошаговая инструкция по настройке
Процесс развертывания шлюза делится на несколько последовательных этапов, начиная с регистрации учетных записей и заканчивая установкой мобильного ПО.
Настройка API и домена
Сначала необходимо зарегистрироваться в панели управления GigaChat API и получить ключ авторизации. Затем в настройках DNS вашего домена прописываются две A-записи, указывающие на IP-адрес арендованного виртуального сервера. При использовании сервисов вроде Cloudflare важно отключить режим проксирования (оставить вариант DNS only), чтобы избежать конфликтов с SSL-сертификатами.
Подготовка сервера
На приобретенном VPS обновляются системные пакеты и устанавливается Docker. После этого настраивается межсетевой экран (фаервол) с открытием необходимых портов для SSH, веб-трафика и выпуска сертификатов безопасности. Обязательно синхронизируется системное время через протокол NTP, так как расхождение часов более чем на пять минут приведет к отклонению входящих вебхуков.
Далее репозиторий проекта клонируется на сервер, заполняются конфигурационные файлы с учетными данными, после чего запускается сборка контейнеров.

Настройка Android-приложения
На мобильное устройство устанавливается специализированный APK-файл шлюза (например, Android SMS Gateway). В настройках приложения указывается URL-адрес шлюза на вашем домене, приватный токен безопасности, а также параметры пингов и обработки входящих очередей. После успешного подключения генерируются учетные данные для авторизации вебхуков.

На завершающем этапе в конфигурационный файл сервера прописывается белый список телефонных номеров, с которых разрешено отправлять запросы. Это позволяет избежать лишних затрат токенов на обработку случайных рассылок.
Возможные трудности при эксплуатации
В процессе тестирования системы могут возникать технические нюансы. Первый связан с переходом мобильного устройства в спящий режим: если телефон засыпает, входящие сообщения могут задерживаться в буфере до тех пор, пока устройство не выйдет из режима энергосбережения. Для стабильной работы рекомендуется держать аппарат подключенным к зарядному устройству с активированной функцией предотвращения блокировки экрана.
Вторая сложность касается работы операторов связи. Новые или «непрогретые» сим-карты могут подвергаться жестким проверкам антифрод-фильтров, из-за чего исходящие ответы от шлюза могут застревать на стороне сотового оператора. Точные причины таких задержек не всегда удается выявить сразу, однако в процессе дальнейшего использования проблема обычно исчезает.
Итоги тестирования
Созданная система успешно справляется с базовой задачей по приему запросов и доставке сгенерированных нейросетью ответов через мобильную сеть. Функционал шлюза можно расширять, добавляя интеграцию с поисковыми системами, подключая другие языковые модели или используя скрипт для фильтрации нежелательных контактов. Проект носит исследовательский характер и демонстрирует работоспособность концепции обмена данными без подключения к смарт-интернету.
