На главную

Доработка телеграм-бота

**Цена договорная**<br><br>**Проект:** <br>Набор нескольких однотипных Telegram-ботов на базе фреймворка для создания диалоговых систем и RAG-подхода (Retrieval Augmented Generation). Каждый чат-бот привязан к определённому сотруднику, изолирован от других чат-ботов, и помогает пользователям этого чат-бота при ответе на вопросы. Почти весь код уже готов, необходимо привлечь разработчика для доработки сложных аспектов.<br><br>**Цели проекта:**<br>- Обеспечить корректную работу системы чат-ботов в Telegram с использованием готового внешнего фреймворка для создания диалоговых систем.<br>- Корректно интегрировать работу с реляционной (PostgreSQL) и векторной базами данных.<br>- Обеспечить безопасность и отказоустойчивость решения.<br>- Настроить и документировать процесс развертывания и масштабирования системы.<br>- Обеспечить возможность аналитики (дашборды на базе Apache Superset).<br>- Помочь в подборе требований для аренды оборудования.<br><br>**Текущий статус проекта:**<br>- Функциональность фреймворка для создания диалоговых систем и LangChain (фреймворк для работы с большими языковыми моделями) уже реализована.<br>- Реализованы на базовом уровне функции для работы с PostgreSQL и векторной базой данных (всё работает, но без учёта безопасности).<br>- Обработка ошибок в ряде функций уже написана (требуется аудит).<br>- Первоначальный код, а также подробная документация по проекту будут предоставлены исполнителю.<br><br>**Задачи, требующие доработки:**<br><br>*1. Работа с реляционной базой данных (PostgreSQL)*<br><br>Что сделать:<br><br>- Аудит и при необходимости рефакторинг имеющихся функций взаимодействия с БД.<br>- Настроить систему безопасности (например, защита от SQL-инъекций).<br>- Корректно развернуть базу данных на сервере (конфигурация, оптимизация, настройка резервного копирования).<br>- Провести аудит функций обработки ошибок. При необходимости — доработать или переписать.<br><br>*2. Работа с векторной базой данных*<br><br>Что сделать:<br><br>- Настроить структуру размещения групп векторных БД для разных телеграм-ботов. Определить, нужна ли специальная конфигурация или достаточно текущей схемы. Возможно, каждая векторная БД будет содержаться в отдельном Docker-контейнере самого бота и тогда данная задача не актуальна - решение обсуждается с исполнителем.<br>- Проанализировать необходимость дополнительных мер безопасности. Предполагается, что запись в векторные БД происходит только при создании чат-бота, а не в процессе его работы.<br>- Определить требования к ресурсам для векторной БД, чтобы задать параметры сервера при аренде.<br>- Провести аудит функций обработки ошибок для векторной БД. При необходимости — доработать или переписать.<br><br>*3. Скрипт чат-ботов*<br><br>Что сделать:<br><br>- Настроить правильное развертывание бота(ов) на сервере.<br>- Организовать запуск Docker-контейнеров для каждого бота, подготовить инструкции и шаблоны для дальнейшего масштабирования.<br>- Убедиться в корректной интеграции бота с Telegram через фреймворк для создания диалоговых систем (встроенная поддержка есть, требуется проверка настроек).<br><br>*4. Работа с LLM и LangChain*<br><br>Что сделать:<br><br>- Определить необходимость асинхронности в работе с LLM через LangChain. Если она нужна — корректно её настроить.<br>- Проверить и при необходимости доработать уже написанные функции обработки ошибок.<br><br>*5. Работа с эмбеддингами*<br><br>Что сделать:<br><br>- Определить, нужна ли асинхронность при работе с эмбеддингами в RAG. Если нужна — настроить её.<br>- Проверить и при необходимости доработать функции обработки ошибок.<br><br>*6. Дашборд (Apache Superset)*<br><br>Что сделать:<br><br>- Развернуть дашборд для аналитики хотя бы одного бота, подготовить инструкцию и шаблоны для развёртывания последующих дашбордов.<br>- Настроить доступы к дашборду, описать процесс настройки, чтобы мы смогли самостоятельно повторить его для других ботов.<br><br>*7. Тестирование системы*<br><br>Что сделать:<br><br>- Нагрузочное тестирование бота и системы: определить, нужно ли оно. Если да, то подготовить инструкции для самостоятельного тестирования. Если нет — обосновать отсутствие необходимости.<br>- Тестирование системы на безопасность: проверить, чтобы ни один пользователь не смог нарушить работу системы или скомпрометировать данные. Предложить рекомендации по устранению уязвимостей.<br>- Проверка устойчивости системы при возникновении ошибок (сбоев Telegram, внешних сервисов). Убедиться, что при сбоях система продолжает работать или корректно восстанавливается.<br>- Мы сможем самостоятельно настроить и провести тесты для:<br> - Скрипта самого бота<br> - Тестирование обращений к LLM<br> - Работы RAG системы<br> - Проверки на возникающие нештатные ошибки<br>- Если есть дополнительные важные типы тестов (например, специфические интеграционные тесты, тесты безопасности на низком уровне), которые мы не учли, исполнитель может предложить их для обсуждения и решения о необходимости.<br><br>*8. Логирование ошибок*<br><br>Что сделать:<br><br>- Настроить логирование базовых и технических ошибок.<br><br>*9. Требования к инфраструктуре и рекомендации по аренде сервера*<br><br>Что сделать:<br>- Оценить текущие требования к хостингу: объем памяти, хранилища и процессорные ресурсы при наличии до 5 ботов.<br>- Предложить масштабируемое решение и конфигурации на случай увеличения числа ботов в будущем до 20 и более.<br>- Предложить оптимальные параметры арендуемого сервера (тип VPS или VDS, объем RAM, CPU, объем и тип диска, пропускная способность сети и т.д.).<br>- Задокументировать рекомендации для дальнейшего масштабирования.<br><br><br>**Навыки, необходимые разработчику**<br><br>- Уверенное владение Python.<br>- Готовность разобраться в части документации фреймворка для создания диалоговых систем, которая требуется для задачи.<br>- Готовность изучить необходимые разделы документации LangChain, которые требуются для задачи.<br>- Опыт работы с PostgreSQL (оптимизация, администрирование, безопасность).<br>- Готовность анализа работы векторных БД.<br>- Знание Docker (создание и настройка Docker-контейнеров).<br>- Навыки обеспечения безопасности.<br>- Опыт в настройке асинхронности в Python и интеграции с внешними API.<br>- Понимание принципов тестирования, умение предложить и обосновать дополнительные виды тестов при необходимости.<br><br><br>---<br><br>**Юридические аспекты**<br><br>- При работе над проектом будет заключен договор. Возможно заключение договора с ИП, самозанятым или физическим лицом. Шаблоны договора имеются.<br><br>---<br><br>**Организационные моменты**<br><br>- Перед началом работы будет проведен созвон для обзора текущей реализации системы.<br>- На созвоне определим объем предстоящих работ, приоритетные задачи и возможные задачи «на потом».<br>

Интеграция Битрикс 24 и AssemblyAI.

Необходимо сделать интеграцию портала Битрикс24 и AssemblyAI. Данный сервис позволяет делать транскрипцию из телефонного разговора, необходимо чтобы эта транскрипция записывалась в...

Превратить фото в видео с помощью ии

Привет, с помощью клинг сделал референс. С лицами беда у персонажей. Надеюсь вы знаете как сделать это лучше, чтобы семья выглядела...

Настроить сервер aeza

Требуется выполнить настройку и развертывание сервера, обеспечив его корректную работу и оптимизированную конфигурацию. Помимо этого, необходимо осуществить привязку доменного имени, настроив...