Scoring Pipeline

A scoring pipeline consists of a data source, a data sink, one or more scoring flows, and zero or more scoring services. When a scoring pipeline is deployed, the data source, data sink, each scoring flow, and any scoring services, are running in separate containers.

Architecture

Records

Data flowing through a scoring pipeline is represented as a record, which is a set of named data values. The data values are stored in fields that are accessed by name. The fields in a record are defined by a schema.

Record lifecycle is transparently managed by data sources and sinks. A record is created by a data source to send data to a scoring flow. When a record is received by a data sink it is destroyed. Records are never created or destroyed by scoring flows.

Each processing step and scoring service in a scoring flow has access to the record and can add new fields or modify existing field values in the record. Fields cannot be removed from a record.

Supported Field Types

Record fields support these Open API Version 3.0.3 types:

OpenAPI Type OpenAPI Format Comments
boolean
integer int32 32 bit signed value
integer int64 64 bit signed value
number double
number float
string UTF 8 encoded
string bytes Base64 encoded
string date RFC 3339 full-date
string date-time RFC 3339 date-time
array Supports all types and can be nested
object Supports all types and can be nested