There are three main software components:
Data model specifies how to interpret user input, how to query a data source, and how to format the result back. Developers use model-as-a-code approach to build models using any JVM language like Java or Scala.
Data probe is a DMZ-deployed application designed to securely deploy and manage data models. Each probe can manage multiple models and you can have many probes.
REST server provides REST endpoint for user applications to securely query data sources using NLI via data models deployed in data probes.