Core Concepts

#Console

Console is a web-based UI application, designed to provide convenient access to Base, VDP and Model. One of its key features is a no-code drag-and-drop pipeline builder. This means that even non-technical users can effortlessly build flexible VDP pipelines by simply dragging and dropping components. By emphasizing simplicity and ease of use, the goal is to provide a unified and intuitive user experience.

Console is maintained in console.

#API

VDP is implemented with API-first design principle. It enables seamless integration to your data stack at any scale.

VDP uses Protocol Buffers version 3 (proto3) as the Interface Definition Language (IDL) to define the API interface and the structure of the payload messages. The same interface definitions are used for both REST (via gRPC-Gateway) and RPC. This enables the access to the API over different protocols:

  • JSON over HTTP
  • Protocol Buffers over gRPC

The interface definitions are maintained in protobufs with auto-generated Go codes in protogen-go and Python code in protogen-python. The genuine protobuf documentation can be found in our Buf Scheme Registry (BSR).

#Pipeline

The foundation of VDP lies in the concept of a Pipeline, which comprises connectors and operators, all defined within a recipe. A pipeline can be triggered using either SYNC APIs (for synchronous responses) or ASYNC APIs (ideal for long-running workloads). More detailed information about pipelines can be found in the Pipeline section.

The implementation of the Pipeline concept is managed in the pipeline-backend repository.

#Component

A Component is a fundamental building block used to construct a pipeline in VDP. The system offers various types of components, each catering to specific functionalities. Components empower VDP pipelines to perform unstructured data ETL (Extract, Transform, Load). We have two types of component: Connector and Operator.

#Connector

To connect numerous providers of abilities around the world, Connector is introduced. Connectors allow users to connect to different types of providers and vendors. These tasks encompass data extraction, transformation using AI models, and uploading to blockchains, third-party apps, or data warehouses.

#Operator

To facilitate more flexible and fine-grained data injection and manipulation, Operator is introduced. Operators allow users to run customized code without the need for server management or pre-provisioning. This enables code execution whenever the pipeline is triggered and data flows into the connector.

#Model

A Model in Instill Model is a piece of ML algorithm run on data to solve a certain AI task for Vision, Language and more.

#Release stage

For Instill AI developed and maintained vdp connectors, operators and model sources, we use release stage defined as below to indicate their readiness:

StageDescription
AlphaAn alpha component indicates that it is under development, and Instill AI is actively collecting early feedback and issues reported by early adopters. Alpha components are not recommended for production use.
BetaA beta component is considered stable and reliable, with no further backwards incompatible changes expected. However, it may not have been tested by a large user base. Beta releases are intended to identify and fix any remaining issues before moving to the next stage.
Generally AvailableA generally available component has undergone thorough testing and is ready for use in production environments. Its documentation is considered sufficient to support widespread adoption.

Last updated: 1/8/2024, 8:56:57 AM