# ML system input/API

ML system input/API: a combination of software and hardware systems, acting as an external interface to the target model. External users or client applications utilize the interface to submit textual input data to conduct inference operations on it and to receive operation’s results in response. An example implementation – a REST API or a web interface, used for data submission. The input system can implement additional processes for input data preprocessing or filtering, authentication and access control.

The association between the input and the model depicts that there may be multiple inputs, operating with one model, involving the input data in the process. The input pipeline preprocesses the received input, before it is fed to the model for processing. The preprocessing may involve necessary transformations, tokenization, cleaning, filtering, normalization, feature extraction or noise reduction for purposes of query processing optimization or as a part of security controls. This is depicted with the method processQueryInputData() under the Enabling software components system assets. The ML system input/API is the defined component, part of the Enabling software components. Many different input implementations in operation act as many different software components, which are a part of the ML processing system.

The input system asset has an attribute of Input data status, which may have a value out of two possible values – Received and Query. The Received state represents state of the input data, when it was received and was not yet preprocessed with the processQueryInputData() method. After preprocessing, the state becomes – Query, representing the final input data form before its submission to the model for inference.

For LLM’s, the primary input is textual prompts, queries. In multimodal setups, the LLM models process additional information mediums as the their input, such as images, which could be provided in combination with the textual input.

The input has the following defined methods:

1. receiveInputData() – method representing the process of received the input from the setup input interfaces.
2. submitInputData() – after preprocessing the received input data, it is submitted for processing by the target model.

Involved business data within the association between the input and the model:

- Input data: real-time user-supplied, external textual data, which is ingested by the system and passed to the model for inference and analysis. For the LLM’s the input data primarily consists of textual queries, which are submitted to the model to produce a target response. Although, with development of multimodal models, the text may incorporate additional mediums of data, such as images.