Small fixes
This commit is contained in:
parent
22e768aa2c
commit
76fab7da40
2 changed files with 19 additions and 13 deletions
|
@ -43,7 +43,7 @@
|
||||||
- Образы Docker
|
- Образы Docker
|
||||||
|
|
||||||
|
|
||||||
Роль и связь компонентов модуля:
|
Связь компонентов модуля:
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
flowchart LR
|
flowchart LR
|
||||||
|
@ -57,8 +57,8 @@ flowchart LR
|
||||||
|
|
||||||
%% S3 Infrastructure
|
%% S3 Infrastructure
|
||||||
S3Storage[(S3 Хранилище)]
|
S3Storage[(S3 Хранилище)]
|
||||||
FileAPI ---> S3Box-UserData[S3 Box: Данные пользователей]
|
FileAPI <---> S3Box-UserData[S3 Box: Данные пользователей]
|
||||||
FileAPI ---> S3Box-ModelWeights[S3 Box: Веса моделей]
|
FileAPI <---> S3Box-ModelWeights[S3 Box: Веса моделей]
|
||||||
S3Box-UserData --> S3Storage
|
S3Box-UserData --> S3Storage
|
||||||
|
|
||||||
%% ML Component Section
|
%% ML Component Section
|
||||||
|
@ -67,7 +67,7 @@ flowchart LR
|
||||||
MLService[ML Service]
|
MLService[ML Service]
|
||||||
end
|
end
|
||||||
|
|
||||||
MLAPI --> ML-Component
|
MLAPI <--> ML-Component
|
||||||
ML-Component --> S3Box-UserData
|
ML-Component --> S3Box-UserData
|
||||||
ML-Component --> S3Box-ModelWeights
|
ML-Component --> S3Box-ModelWeights
|
||||||
S3Box-ModelWeights --> S3Storage
|
S3Box-ModelWeights --> S3Storage
|
||||||
|
|
|
@ -1,5 +1,14 @@
|
||||||
# ExperimentPipeline
|
# ExperimentPipeline
|
||||||
|
|
||||||
|
- [ExperimentPipeline](#experimentpipeline)
|
||||||
|
- [Переменные](#переменные)
|
||||||
|
- [Взаимодействие кода модуля с фреймворком](#взаимодействие-кода-модуля-с-фреймворком)
|
||||||
|
- [Манифест ExperimentPipeline](#манифест-experimentpipeline)
|
||||||
|
- [Манифест APIComponent отдельного пайплайна](#манифест-apicomponent-отдельного-пайплайна)
|
||||||
|
- [Манифест APIComponent пайплайнов в целом](#манифест-apicomponent-пайплайнов-в-целом)
|
||||||
|
- [Изменение пути монтирования отдельных переменных (необязательно).](#изменение-пути-монтирования-отдельных-переменных-необязательно)
|
||||||
|
|
||||||
|
|
||||||
Компонент ExperimentPipeline позволяет создать сервис для асинхронной обработки запросов пользователей.
|
Компонент ExperimentPipeline позволяет создать сервис для асинхронной обработки запросов пользователей.
|
||||||
|
|
||||||
ExperimentPipeline подходит для вычислительных задач, которые:
|
ExperimentPipeline подходит для вычислительных задач, которые:
|
||||||
|
@ -22,10 +31,7 @@ ExperimentPipeline подходит для вычислительных зада
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Переменные
|
||||||
## Добавление пайплайна в приложение
|
|
||||||
|
|
||||||
### Переменные
|
|
||||||
|
|
||||||
Данные передаются на вход и выход пайплайна, а также между его отдельными этапами через *переменные*. Эти переменные используются в нескольких частях работы пайплайна:
|
Данные передаются на вход и выход пайплайна, а также между его отдельными этапами через *переменные*. Эти переменные используются в нескольких частях работы пайплайна:
|
||||||
|
|
||||||
|
@ -39,7 +45,7 @@ ExperimentPipeline подходит для вычислительных зада
|
||||||
* выходные - могут быть переданы в поле `outputs` при вызове пайплайна через API. Значением может быть только путь к папке, не к файлу.
|
* выходные - могут быть переданы в поле `outputs` при вызове пайплайна через API. Значением может быть только путь к папке, не к файлу.
|
||||||
* внутренние - не передаются через API, но могут быть указаны как входные и выходные переменные отдельных этапов пайплайна, и в таком случае данные будут автоматически переданы между этапами.
|
* внутренние - не передаются через API, но могут быть указаны как входные и выходные переменные отдельных этапов пайплайна, и в таком случае данные будут автоматически переданы между этапами.
|
||||||
|
|
||||||
### Взаимодействие кода модуля с фреймворком
|
## Взаимодействие кода модуля с фреймворком
|
||||||
|
|
||||||
Для каждого контейнера, созданного во время выполнения пайплайна, будут определены переменные окружения в формате `UNIP_PIPELINE_<VAR_NAME>`. Значения таких переменных - пути к файлами и папкам в локальной файловой системе контейнера, с которыми должен работать код модуля.
|
Для каждого контейнера, созданного во время выполнения пайплайна, будут определены переменные окружения в формате `UNIP_PIPELINE_<VAR_NAME>`. Значения таких переменных - пути к файлами и папкам в локальной файловой системе контейнера, с которыми должен работать код модуля.
|
||||||
|
|
||||||
|
@ -70,7 +76,7 @@ def main():
|
||||||
Входные переменные могут быть файлами или папками, а выходная - только папкой, поэтому в примере добавляется путь к файлу.
|
Входные переменные могут быть файлами или папками, а выходная - только папкой, поэтому в примере добавляется путь к файлу.
|
||||||
|
|
||||||
|
|
||||||
### Манифест ExperimentPipeline
|
## Манифест ExperimentPipeline
|
||||||
|
|
||||||
Пример манифеста самого пайплайна.
|
Пример манифеста самого пайплайна.
|
||||||
|
|
||||||
|
@ -161,7 +167,7 @@ spec:
|
||||||
|
|
||||||
Каждый этап работает с собственными входными и выходными данными. Переменные, определённые здесь, в пайплайне, но не определённые в API, считаются внутренними переменными. Например, в примере выше такой переменной является `model`.
|
Каждый этап работает с собственными входными и выходными данными. Переменные, определённые здесь, в пайплайне, но не определённые в API, считаются внутренними переменными. Например, в примере выше такой переменной является `model`.
|
||||||
|
|
||||||
### Манифест APIComponent отдельного пайплайна
|
## Манифест APIComponent отдельного пайплайна
|
||||||
|
|
||||||
Пример манифеста API пайплайна
|
Пример манифеста API пайплайна
|
||||||
|
|
||||||
|
@ -231,7 +237,7 @@ spec:
|
||||||
Если данные переданы не в виде файла, они сохраняются в файл, и этот файл уже передаётся в контейнер. Данные сохраняются простым преобразованием в строку и сохранением этой строки в текстовый файл.
|
Если данные переданы не в виде файла, они сохраняются в файл, и этот файл уже передаётся в контейнер. Данные сохраняются простым преобразованием в строку и сохранением этой строки в текстовый файл.
|
||||||
|
|
||||||
|
|
||||||
### Манифест APIComponent пайплайнов в целом
|
## Манифест APIComponent пайплайнов в целом
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: "unified-platform.cs.hse.ru/v1"
|
apiVersion: "unified-platform.cs.hse.ru/v1"
|
||||||
|
@ -252,7 +258,7 @@ spec:
|
||||||
|
|
||||||
Главное отличие от других APIComponent - пункт `pipelines.enabled: true`. Изменяемые разработчиком пункты - имя приложения `metadata.namespace`, имя самого компонента `metadata.name` и имя секрета с реквизитами `spec.restfulApi.auth.basic.credentials`
|
Главное отличие от других APIComponent - пункт `pipelines.enabled: true`. Изменяемые разработчиком пункты - имя приложения `metadata.namespace`, имя самого компонента `metadata.name` и имя секрета с реквизитами `spec.restfulApi.auth.basic.credentials`
|
||||||
|
|
||||||
### Изменение пути монтирования отдельных переменных (необязательно).
|
## Изменение пути монтирования отдельных переменных (необязательно).
|
||||||
|
|
||||||
Иногда необходимо подключить к модулю данные из файлового хранилища, которые не загружал пользователь. Частый пример - веса ИИ-моделей, которые используются при запросах всех пользователей. В таких случаях для входной переменной можно указать конкретный путь, к которому она будет подключена, вместо того, чтобы выводить её в API.
|
Иногда необходимо подключить к модулю данные из файлового хранилища, которые не загружал пользователь. Частый пример - веса ИИ-моделей, которые используются при запросах всех пользователей. В таких случаях для входной переменной можно указать конкретный путь, к которому она будет подключена, вместо того, чтобы выводить её в API.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue