adds the MLInferenceProcessor interface used when constructing the workflow template
updates the MLTransformer under components/ (the interfaces for the ReactFlow drag-and-drop components)
adds and refactors configs under configs/ (the interfaces/classes used for the WorkflowInputs form) to support the ML inference processor. Specifies the base ml_processor config at the top-level, as the form inputs will be identical across the underlying ingest / search request / search response processors
adds a map config field type and associated interfaces to represent a map as a list of k/v pairs (note this is the format expected in the ml inference processors)
updates and simplifies fns in workflow_to_template_utils and removes the logic around pretrained models and handling model provisioning, as this is not in the target scope of initial release for this
updates the pre-defined semantic search template to use the generic ml processor instead of the explicit text embedding processor
adds a new MapField for processing a dynamic list of k/v pairs to represent a mapping - includes the components, Formik form integration, and yup schema validation
(unrelated change) updates the parsing logic of the search workflows response, as the original issue has been resolved. After rebasing, this was throwing NPE errors.
Demo video, showing the dynamic list of mappings for the input and output maps, persisted in the config, form validation, and actual execution. (Errors on the execution can be ignored for now; this work is in-progress. I have confirmed the ingest pipeline, default pipeline on the index, and execution of the ingest are all working as expected, as the errors faced are replicable by perform ingest directly against the created index.)
[x] Commits are signed per the DCO using --signoff
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.
Description
This PR onboards the generic ML inference ingest processor into the plugin. Specifically:
MLInferenceProcessor
interface used when constructing the workflow templateMLTransformer
undercomponents/
(the interfaces for the ReactFlow drag-and-drop components)configs/
(the interfaces/classes used for theWorkflowInputs
form) to support the ML inference processor. Specifies the baseml_processor
config at the top-level, as the form inputs will be identical across the underlying ingest / search request / search response processorsmap
config field type and associated interfaces to represent a map as a list of k/v pairs (note this is the format expected in the ml inference processors)workflow_to_template_utils
and removes the logic around pretrained models and handling model provisioning, as this is not in the target scope of initial release for thisMapField
for processing a dynamic list of k/v pairs to represent a mapping - includes the components,Formik
form integration, andyup
schema validationDemo video, showing the dynamic list of mappings for the input and output maps, persisted in the config, form validation, and actual execution. (Errors on the execution can be ignored for now; this work is in-progress. I have confirmed the ingest pipeline, default pipeline on the index, and execution of the ingest are all working as expected, as the errors faced are replicable by perform ingest directly against the created index.)
screen-capture (39).webm
Issues Resolved
Makes progress on #23
Check List
--signoff
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check here.