Form Filler has 6 constructors, all based on the same one, but each one provides default values when a parameter of the base constructor is not provided.
These parameters are:
The target component or group of components (layouts) to fill. This is the only mandatory parameter without a default value.
Extra instructions for the AI module related to a specific component/field (i.e., field format, field explanation, etc.). Use these instructions to give extra information to the AI module about a specific field when the response of the form filler is not accurate enough.
Extra instructions for the AI module related to the input source or all components/fields i.e.: target language, vocabulary explanation, current time, etc… Use these instructions to give extra information to the AI module about the context of the input source in general.
The AI module service to use. By default, this service would use OpenAI ChatGPT with
chat/completionendpoint and the "gpt-3.5-turbo-16k-0613" model. Another built-in service using also ChatGPT is available but with the
/completionendpoint and the "text-davinci-003" model. The newest ChatGPT models aren’t better for the specific task of the Form Filler.
The initial testing phase has not yet identified the best model, so don’t hesitate to test both services and give feedback about your results. More models and other LLM providers could be added in the future. If you want to create your own provider service, you need to extend the interface
LLMServiceand add it as a parameter to the Form Filler.
public FormFillerResult fill(String input)
The main method to use when you want to fill the form fields after setting up the FormFiller object. This method fills the registered fields and returns a structure with information of the process such as the AI module request and response.