Created by: voorhs
Проведен огромный рефакторинг подмодуля nodes. Появился API для Nodes и Pipeline (посмотреть можно тут)
Теперь вся оптимизация запускается с помощью гидры (CLI ручка здесь). Сделаны конфиги:
- для всех модулей (
KNNScorerConfig,ThresholdPredictorConfigи так далее) - для
NodeOptimizer(NodeOptimizerConfig) - для
Pipeline(PipelineSearchSpace) - для CLI интерфейса (
OptimizationConfig)
TODO:
- расширить типизацию (ждем https://github.com/deeppavlov/AutoIntent/pull/13)
- зарефакторить CLI API (переработать дефолтные параметры, мб добавить structured config)
- ну и подправить тесты под новый интерфейс
- help string для новой ручки CLI API (https://github.com/deeppavlov/AutoIntent/blob/feat/inference-api/autointent/pipeline/optimization/optimization.py#L119)
- рефактор подмодуля
pipelineдля подготовки к разработке инференса
Основная фича гидры, которую я использовал, --- это рекурсивный instantiate (почитать в документации). К сожалению, нельзя инициализировать пайплайн и прочее из обычного словарика без использования этой функции. Чтобы пользователям Python API не пришлось ни юзать instantiate, ни вручную парсить весь словарик, добавлены методы from_dict_config к классам Pipeline и NodeOptimizer