Разница в требованиях к API модулей при доступе через API и каталог. #8
Labels
No labels
api-component
bug
catalogue
complex-pipeline
consistency
databox
documentation
duplicate
experiment-pipeline
files
invalid
ml-component
platform-app
question
security
status: fixed
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: mlops_platform/documentation#8
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Каталог накладывает дополнительные ограничения на API модуля. Разработчик может сделать модуль "под доступ через API", но такой модуль не будет работать в каталоге.
@gzhulikov нужно более подробно привести дополнительные ограничения, накладываемые на API модуля каталогом модулей.
Требования ли это к
Требования к API пайплайна.
Основное различие: каталог предполагает, что если пользователь загружает один файл, то на вход пайплайна передаётся этот один файл, а если пользователь загружает в одну входную переменную несколько файлов, то они все загружаются в одну и ту же папку, и эта папка передаётся на вход пайплайна.
То есть через каталог нельзя передать на вход пайплайна папку с одним файлом.
Ограничение на типы загружаемых файлов. Уже обсуждалось, что предполагается загрузка файлов одного типа в один вход пайплайна. Сейчас компоненты фреймворка (API пайплана и сам пайплайн) не делают это ограничение строгим, но каталог не позволяет загружать файлы разных типов в один вход. Возможно, это уже отдельная проблема (доработка/улучшение) - сделать ограничение более строгим и задокументировать его.
API Pipelines при разборе пути использует те же соглашения, что и для API Files:
('f/g/', 'f/g/h/'), то файловая группа = локация целиком, файл = None.
('fg/f1', 'f/g/f2'), то файловая группа = все сегменты, кроме последнего,
файл - последний сегмент.
Файловая группа = "папка".
Путь к файлу: /a/b
Путь к папке: /a/c/
Путь к одному файлу в папке: /a/c/b
В API Pipelines у каждого входа и выхода один datatype и один content_type. Допустимые значения определяются в APIComponent. Фактический тип загруженного файла в S3 API Pipelines не проверяет.
В самом API Pipelines всё логично, и проблем нет. Проблема в каталоге - что через него нельзя передать на вход папку с одним файлом, потому что формат запроса не контролируется пользователем. Также - нельзя передать папку с вложенными папками. Все файлы, загруженные через каталог, будут сложены в корневую папку входа пайплайна.
Проблема 2 тогда - это проблема документации. По ней пока вопросов больше нет.
Для API mlcmp тоже есть несоответствие самого API и каталога, но его я хуже помню.
optional
в docstring.