Проект представляет собой виртуального помощника по адаптации новых сотрудников в компании. Помощник в основе своей использует GigaChat, чтобы предоставить информацию и задания на различных этапах адаптации. Проект включает в себя обработку данных, ретривал информации и построение конечной системы.
- Интерактивные инструкции;
- Задачи и цели Onboarding'а;
- Чат-Поддержка в реальном времени;
- Оценка прогресса и обратная связь;
- Аналитика Использования.
Для формирования контекста с учетом QA в проекте использовались эмбеддинги из сета данных следующего формата:
- question: Неструктурированный запрос или обычный вопрос.
- context: Релевантный этому вопросу параграф из базы знаний (пассаж).
Для поддержания контекста и улучшения производительности системы был внедрен ансамбль ретриверов, представленный моделями:
- TFIDFRetriever: Модель, основанная на методе TF-IDF (Term Frequency-Inverse Document Frequency), который оценивает важность слова в контексте документа.
- EmbedchainRetriever: Модель, предоставляющая эмбеддинги для вопросов и контекстов, обеспечивая более глубокое понимание семантики запросов и пассажей.
- ElasticSearchBM25Retriever: Модель, использующая алгоритм BM25 в Elasticsearch для эффективного поиска релевантных документов.
- Backend
- Data Processing
- : Платформа управления потоками данных с открытым исходным кодом.
- gigachain: Библиотека для создания и использования языковых моделей.
- faiss-cpu: Библиотека для эффективного поиска по векторам.
- sentence-transformers: Модели для преобразования текстовых данных в векторы.
- sentencepiece: Инструмент для токенизации текста.
- Text Retrieval
- rank_bm25: Библиотека для ранжирования документов по их релевантности к запросу.
- Data Management
- datasets: Библиотека для управления и работе с различными датасетами.
# Копирование переменных окружения
cp .env.example .env
# Копирование файлов настроек для nginx
rm -rf ./nginx/static && cp -r ./nginx/static_defaults/ ./nginx/static
# Запуск проекта
make dev