Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • C competence search
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • 240 Поисковик компетенций
  • competence search
  • Wiki
  • Руководство разработчика

Руководство разработчика · Changes

Page history
docs wip authored May 13, 2021 by Григорий Хромов's avatar Григорий Хромов
Hide whitespace changes
Inline Side-by-side
Руководство-разработчика.md
View page @ 1237b00f
# Содержание
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 Архитектура сервиса
......
Clone repository
  • Home
  • Архитектура проекта
  • Руководство администратора
  • Руководство разработчика