1. Registering your functions

Inferable SDKs allow you to register your greenfield or brownfield functions with Inferable. This process of registering allows the SDK to collect metadata about the function, such as the function’s inputs, and a description of the function’s purpose.

Then, the SDK establishes a connection to the control-plane (cloud or self-hosted) and sends this metadata periodically.

2. Control-plane

Inferable control-plane will receive the metadata from the SDKs and store it in a database.

So, at any given time, the control-plane has a list of all the functions that are registered with Inferable, and the health of the machines that are running the SDKs.

Control-plane never establishes a connection to the function’s runtime environment, and instead relies on the SDKs to establish the connection.

3. Sending Instructions

When a user wants to execute a run, they will use the Playground UI, CLI or Inferable API to create it.

The Inferable model will then inspect the instrcutions and the metadata of the functions to determine the best way to execute the run.

Each step of the run is persisted in the database, as a “job”.

4. Executing the jobs

The SDKs will long poll the control-plane for new jobs. When a new job is available, the SDK will execute the job on the function’s runtime environment.

This allows the aforementioned AI-generated jobs to be executed on the machines that are running the SDKs.

5. Monitoring and Observability

Inferable console allows the developers to monitor the health of the SDKs, the functions, and the jobs that are being executed.

If something goes wrong while executing a job, the AI will report the error to the consumer (Playground or the API) so that the user can take corrective action.

For more details, please see the Observability page.

Was this page helpful?