|
|
|
# Содержание
|
|
|
|
0. [Описание директорий](#описание-директорий)
|
|
|
|
|
|
|
|
0. [Описание директорий](#описание-файловой-структуры-проекта)
|
|
|
|
1. [Архитектура сервиса](#1-архитектура-сервиса)
|
|
|
|
1. [Описание архитектуры приложения](#11описание-архитектуры-приложения)
|
|
|
|
2. [Описание алгоритма работы системы](#12-описание-алгоритма-работы-системы)
|
| ... | ... | @@ -17,23 +18,52 @@ |
|
|
|
1. [Описание работы тематической модели обработки данных Zulip и Wiki МИЭМ](#51-описание-работы-тематической-модели-обработки-данных-zulip-и-wiki-миэм)
|
|
|
|
2. [Описание тематической модели обработки данных Личнного Кабинета МИЭМ](#52-описание-тематической-модели-обработки-данных-личнного-кабинета-миэм)
|
|
|
|
|
|
|
|
# Описание директорий
|
|
|
|
1. [**cabinet**](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet): микросервис "Личный кабинет МИЭМ"
|
|
|
|
1. [src](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src)
|
|
|
|
1. [server](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/server): файлы микросервиса
|
|
|
|
2. [trainer](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer): файлы модели
|
|
|
|
1. [*fetch_data.py*](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer/fetch_data.py): получение данных из "Личного кабинета"
|
|
|
|
2. [*model_config.py*](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer/model_config.py): список стоп-слов
|
|
|
|
3. [*preprocess.py*](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer/preprocess.py): предобработка данных
|
|
|
|
4. [*train_model.py*](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer/train_model.py): инициализация и обучение модели
|
|
|
|
5. [*trainer.py*](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer/trainer.py): запуск обучения
|
|
|
|
2. [**chat_bot**](https://git.miem.hse.ru/240/competence-search/-/tree/master/chat_bot): чат-бот
|
|
|
|
1. [src](https://git.miem.hse.ru/240/competence-search/-/blob/master/chat_bot/src/main.py)
|
|
|
|
1. [*main.py*](https://git.miem.hse.ru/240/competence-search/-/blob/master/chat_bot/src/main.py): описание класса – чат-бот
|
|
|
|
3. [**colab_notebooks**](https://git.miem.hse.ru/240/competence-search/-/tree/master/colab_notebooks): jupyter-ноутбуки с тестированием работы моделей
|
|
|
|
1. [*cabinet.ipynb*](https://git.miem.hse.ru/240/competence-search/-/blob/master/colab_notebooks/cabinet.ipynb): модель "Личный кабинет МИЭМ"
|
|
|
|
4. [**competence_search**](https://git.miem.hse.ru/240/competence-search/-/tree/master/competence_search)
|
|
|
|
5. [**credentials**](https://git.miem.hse.ru/240/competence-search/-/tree/master/credentials)
|
|
|
|
# Описание файловой структуры проекта
|
|
|
|
|
|
|
|
1. [`cabinet`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet): микросервис **Cabinet**
|
|
|
|
1. [`data`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/data): директория с файлами данных из **Личного Кабинета МИЭМ** и бинарным файлом модели
|
|
|
|
2. [`src`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src): исходные программные файлы
|
|
|
|
1. [`server`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/server): файлы процесса-сервера
|
|
|
|
1. [`model.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer/model.py): методы для работы с моделью и форматирования ответа
|
|
|
|
2. [`model_config.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer/model_config.py): экзмепляр модели, настройки выдачи (в том числе черный список пользователей)
|
|
|
|
3. [`server.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer/server.py): отправная точка процесса-сервера, обработчики для всех `REST/HTTP` методов
|
|
|
|
2. [`trainer`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer): файлы процесса-тренера
|
|
|
|
1. [`fetch_data.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer/fetch_data.py): получение данных
|
|
|
|
2. [`model_config.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer/model_config.py): список стоп-слов
|
|
|
|
3. [`preprocess.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer/preprocess.py): предобработка данных
|
|
|
|
4. [`train_model.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer/train_model.py): инициализация и обучение модели
|
|
|
|
5. [`trainer.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/src/trainer/trainer.py): отправная точка процесса-тренера
|
|
|
|
3. [`.env`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/.env): конфигурационный файл для настройки времени обучения
|
|
|
|
4. [`Dockerfile`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/Dockerfile): файл с `Docker` образом микросервиса
|
|
|
|
5. [`Pipfile`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/Pipfile): файл со списком всех необходимых библиотек-зависимостей
|
|
|
|
6. [`Pipfile.lock`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/Pipfile.lock): файл с полным списком необходимых библиотек и их зависимостей, а также версий всех библиотек
|
|
|
|
7. [`logging_debug.conf`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/logging_debug.conf): файл с настройкой логирования для режима `DEBUG`
|
|
|
|
8. [`logging_default.conf`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/logging_default.conf): файл с настройкой логирования для режима `DEFAULT`
|
|
|
|
2. [`chat_bot`](https://git.miem.hse.ru/240/competence-search/-/tree/master/chat_bot): чат-бот
|
|
|
|
1. [`src`](https://git.miem.hse.ru/240/competence-search/-/blob/master/chat_bot/src)
|
|
|
|
1. [`main.py`](https://git.miem.hse.ru/240/competence-search/-/blob/master/chat_bot/src/main.py): описание класса – чат-бота
|
|
|
|
2. [`Dockerfile`](https://git.miem.hse.ru/240/competence-search/-/tree/master/chat_bot/Dockerfile): файл с `Docker` образом микросервиса
|
|
|
|
3. [`Pipfile`](https://git.miem.hse.ru/240/competence-search/-/tree/master/chat_bot/Pipfile): файл со списком всех необходимых библиотек-зависимостей
|
|
|
|
4. [`Pipfile.lock`](https://git.miem.hse.ru/240/competence-search/-/tree/master/chat_bot/Pipfile.lock): файл с полным списком необходимых библиотек и их зависимостей, а также версий всех библиотек
|
|
|
|
5. [`logging_debug.conf`](https://git.miem.hse.ru/240/competence-search/-/tree/master/chat_bot/logging_debug.conf): файл с настройкой логирования для режима `DEBUG`
|
|
|
|
6. [`logging_default.conf`](https://git.miem.hse.ru/240/competence-search/-/tree/master/chat_bot/logging_default.conf): файл с настройкой логирования для режима `DEFAULT`
|
|
|
|
3. [`colab_notebooks`](https://git.miem.hse.ru/240/competence-search/-/tree/master/colab_notebooks): jupyter-ноутбуки с тестированием работы моделей
|
|
|
|
1. [`cabinet.ipynb`](https://git.miem.hse.ru/240/competence-search/-/blob/master/colab_notebooks/cabinet.ipynb): тест модели **Личный кабинет МИЭМ**
|
|
|
|
4. [`competence_search`](https://git.miem.hse.ru/240/competence-search/-/tree/master/competence_search): микросервис **Competence Search**
|
|
|
|
1. [`src`](https://git.miem.hse.ru/240/competence-search/-/blob/master/competence_search/src)
|
|
|
|
1. [`main.py`](https://git.miem.hse.ru/240/competence-search/-/blob/master/competence_search/src/main.py): отправная точка, обработчики для всех `REST/HTTP` методов
|
|
|
|
2. [`services.py`](https://git.miem.hse.ru/240/competence-search/-/blob/master/competence_search/src/services.py): получение данных из всех _микросервисов-обработчиков_, вычисление общей оценки релевантности
|
|
|
|
2. [`Dockerfile`](https://git.miem.hse.ru/240/competence-search/-/tree/master/competence_search/Dockerfile): файл с `Docker` образом микросервиса
|
|
|
|
3. [`Pipfile`](https://git.miem.hse.ru/240/competence-search/-/tree/master/competence_search/Pipfile): файл со списком всех необходимых библиотек-зависимостей
|
|
|
|
4. [`Pipfile.lock`](https://git.miem.hse.ru/240/competence-search/-/tree/master/competence_search/Pipfile.lock): файл с полным списком необходимых библиотек и их зависимостей, а также версий всех библиотек
|
|
|
|
5. [`logging_debug.conf`](https://git.miem.hse.ru/240/competence-search/-/tree/master/competence_search/logging_debug.conf): файл с настройкой логирования для режима `DEBUG`
|
|
|
|
6. [`logging_default.conf`](https://git.miem.hse.ru/240/competence-search/-/tree/master/competence_search/logging_default.conf): файл с настройкой логирования для режима `DEFAULT`
|
|
|
|
5. [`credentials`](https://git.miem.hse.ru/240/competence-search/-/tree/master/credentials): файлы с учетными данными
|
|
|
|
1. [`credentials.json.example`](https://git.miem.hse.ru/240/competence-search/-/tree/master/credentials/credentials.json.example): пример файла с учетными данными для микросервиса **Gtable**
|
|
|
|
2. [`zulip_admin.txt.example`](https://git.miem.hse.ru/240/competence-search/-/tree/master/credentials/zulip_admin.txt.example): пример файла с учетными данными администратора **Zulip** (для работы с `API` **Zulip**)
|
|
|
|
3. [`credentials.json.example`](https://git.miem.hse.ru/240/competence-search/-/tree/master/credentials/credentials.json.example): пример файла с учетными данными для микросервиса **Gtable**
|
|
|
|
4. [`credentials.json.example`](https://git.miem.hse.ru/240/competence-search/-/tree/master/credentials/credentials.json.example): пример файла с учетными данными для микросервиса **Gtable**
|
|
|
|
|
|
|
|
6. [**gtable**](https://git.miem.hse.ru/240/competence-search/-/tree/master/gtable)
|
|
|
|
7. [**lib**](https://git.miem.hse.ru/240/competence-search/-/tree/master/lib): модели и ...
|
|
|
|
1. [*cabinet_data.py*](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet_data.py): --
|
| ... | ... | @@ -41,9 +71,46 @@ |
|
|
|
3. [*smartsearch.py*](https://git.miem.hse.ru/240/competence-search/-/tree/master/smartsearch.py): описание класса – модели для "Личного кабинета МИЭМ"
|
|
|
|
4. [*wiki_data.py*](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki_data.py): --
|
|
|
|
5. [*zulip_data.py*](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip_data.py): --
|
|
|
|
8. [**logs**](https://git.miem.hse.ru/240/competence-search/-/tree/master/logs)
|
|
|
|
9. [**wiki**](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki)
|
|
|
|
10. [**zulip**](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip)
|
|
|
|
8. [`logs`](https://git.miem.hse.ru/240/competence-search/-/tree/master/logs): директория с логами от всех микросервисов
|
|
|
|
9. [`wiki`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki): микросервис **Wiki**
|
|
|
|
1. [`data`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/data): директория с файлами данных из **МИЭМ Wiki** и бинарным файлом модели
|
|
|
|
2. [`src`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/src): исходные программные файлы
|
|
|
|
1. [`server`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/src/server): файлы процесса-сервера
|
|
|
|
1. [`model.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/src/trainer/model.py): методы для работы с моделью и форматирования ответа
|
|
|
|
2. [`model_config.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/src/trainer/model_config.py): экзмепляр модели, настройки выдачи (в том числе черный список пользователей)
|
|
|
|
3. [`server.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/src/trainer/server.py): отправная точка процесса-сервера, обработчики для всех `REST/HTTP` методов
|
|
|
|
2. [`trainer`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/src/trainer): файлы процесса-тренера
|
|
|
|
1. [`fetch_data.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/src/trainer/fetch_data.py): получение данных
|
|
|
|
2. [`model_config.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/src/trainer/model_config.py): список стоп-слов и параметры при обучении модели
|
|
|
|
3. [`preprocess.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/src/trainer/preprocess.py): предобработка данных
|
|
|
|
4. [`train_model.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/src/trainer/train_model.py): инициализация и обучение модели
|
|
|
|
5. [`trainer.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/src/trainer/trainer.py): отправная точка процесса-тренера
|
|
|
|
3. [`.env.example`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/.env.example): пример конфигурационного файла для настройки времени обучения и токеном для работы с `API` **МИЭМ Wiki**
|
|
|
|
4. [`Dockerfile`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/Dockerfile): файл с `Docker` образом микросервиса
|
|
|
|
5. [`Pipfile`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/Pipfile): файл со списком всех необходимых библиотек-зависимостей
|
|
|
|
6. [`Pipfile.lock`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/Pipfile.lock): файл с полным списком необходимых библиотек и их зависимостей, а также версий всех библиотек
|
|
|
|
7. [`logging_debug.conf`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/logging_debug.conf): файл с настройкой логирования для режима `DEBUG`
|
|
|
|
8. [`logging_default.conf`](https://git.miem.hse.ru/240/competence-search/-/tree/master/wiki/logging_default.conf): файл с настройкой логирования для режима `DEFAULT`
|
|
|
|
10. [**zulip**](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip): микросервис **Zulip**
|
|
|
|
1. [`data`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/data): директория с файлами данных из **Zulip** и бинарным файлом модели
|
|
|
|
2. [`src`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/src): исходные программные файлы
|
|
|
|
1. [`server`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/src/server): файлы процесса-сервера
|
|
|
|
1. [`model.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/src/trainer/model.py): методы для работы с моделью и форматирования ответа
|
|
|
|
2. [`model_config.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/src/trainer/model_config.py): экзмепляр модели, настройки выдачи (в том числе черный список пользователей)
|
|
|
|
3. [`server.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/src/trainer/server.py): отправная точка процесса-сервера, обработчики для всех `REST/HTTP` методов
|
|
|
|
2. [`trainer`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/src/trainer): файлы процесса-тренера
|
|
|
|
1. [`fetch_data.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/src/trainer/fetch_data.py): получение данных
|
|
|
|
2. [`model_config.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/src/trainer/model_config.py): список стоп-слов и параметры при обучении модели
|
|
|
|
3. [`preprocess.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/src/trainer/preprocess.py): предобработка данных
|
|
|
|
4. [`train_model.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/src/trainer/train_model.py): инициализация и обучение модели
|
|
|
|
5. [`trainer.py`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/src/trainer/trainer.py): отправная точка процесса-тренера
|
|
|
|
3. [`.env`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/.env): конфигурационный файл для настройки времени обучения
|
|
|
|
4. [`Dockerfile`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/Dockerfile): файл с `Docker` образом микросервиса
|
|
|
|
5. [`Pipfile`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/Pipfile): файл со списком всех необходимых библиотек-зависимостей
|
|
|
|
6. [`Pipfile.lock`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/Pipfile.lock): файл с полным списком необходимых библиотек и их зависимостей, а также версий всех библиотек
|
|
|
|
7. [`logging_debug.conf`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/logging_debug.conf): файл с настройкой логирования для режима `DEBUG`
|
|
|
|
8. [`logging_default.conf`](https://git.miem.hse.ru/240/competence-search/-/tree/master/zulip/logging_default.conf): файл с настройкой логирования для режима `DEFAULT`
|
|
|
|
|
|
|
|
|
|
|
|
# 1 Архитектура сервиса
|
|
|
|
|
| ... | ... | |