Боты с AI. Backend-разработчик для Telegram-бота на базе Gemini 1.5 Pro API (Бизнес-логика + Генерация CSV) (Дистанционная работа)

Бюджет не указан

Задание: Боты с AI. Backend-разработчик для Telegram-бота на базе Gemini 1.5 Pro API (Бизнес-логика + Генерация CSV) (Дистанционная работа)

1. ОПИСАНИЕ ПРОЕКТА Требуется разработать внутреннего закрытого Telegram-бота для отдела продаж. Бот принимает от менеджера сырую текстовую заявку (спецификацию на материалы), отправляет ее в официальное API Google Gemini 1.5 Pro, сопровождая скрытым системным промптом (~3000 слов со сложной коммерческой логикой и прайсами). На выходе бот должен вести уточняющий диалог с менеджером (если данных не хватает) и в финале выдавать строго отформатированный файл .csv с готовым расчетом для импорта в Excel/ERP. 2. КРИТИЧЕСКИЕ ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ (MUST HAVE) Прямое API Google: Исключительно прямое подключение к официальному API Gemini 1.5 Pro. Категорически запрещено использование сторонних сервисов-посредников, агрегаторов API или неофициальных библиотек-прокладок. Инфраструктура: Развертывание на зарубежном VPS (предоставим мы) или настройка надежного проксирования для обхода региональных блокировок Google API. Стек: Python (aiogram 3.x) или Node.js (Telegraf). База данных — PostgreSQL или SQLite (для хранения контекста сессий и самого системного промпта). 3. ОСНОВНОЙ ФУНКЦИОНАЛ БОТА Управление контекстом (Memory/Session): Логика системного промпта подразумевает выдачу «СТОП-СИГНАЛОВ» (например, ИИ останавливает расчет и просит менеджера указать цену нестандартной детали). Бот обязан сохранять историю переписки (context window) в рамках одной сессии расчета, чтобы не сбрасывать данные при каждом ответе пользователя. Интеллектуальный парсинг ответа (Роутинг): Бот должен программно понимать, что именно ответила нейросеть: Если ИИ задает уточняющий вопрос (текст) — бот пересылает его в чат обычным сообщением. Если ИИ выдает финальную таблицу (данные с разделителями) — бот обязан перехватить ее, очистить от текстового мусора/маркдауна нейросети, программно сгенерировать файл .csv и отправить пользователю в виде скачиваемого документа. Запрещено вываливать сырую таблицу с разделителями текстом в чат. Администрирование: Текст системного промпта должен храниться в БД. У администратора (владельца) должна быть возможность обновлять текст системного промпта без вмешательства в исходный код бота. 4. БЕЗОПАСНОСТЬ И ЗАЩИТА АЛГОРИТМА (КРИТИЧНО) Защита от Prompt Injection. Требуется реализовать надежную защиту (на уровне API System Instructions или pre-prompting). Доступ: Бот должен быть закрытым (White-list ID пользователей в БД). 5. ФОРМАТ ВЫХОДНЫХ ДАННЫХ (CSV) Финальный файл должен формироваться в кодировке UTF-8 с разделителем ;. Таблица состоит строго из 27 столбцов: № п/п; Наименование; Кол-во, ед.; Высота, мм; Ширина ; Размер раб. створки, мм.; Открывание; Металл, мм.; Порог; Окрас; Наличник; Доводчик; Комплектация; Маркировка; Монтаж; Итоговая стоимость; Стоимость ; Остекление; Доводчик; Антипаника; Порог; Наценка за металл; Вент. решетки; Замки и ручки; Отбойники; Доп. решения; Иное.