Auto-processing#

Auto-processing is a set of capabilities designed to keep source data (in tables or volumes) and AI pipeline outputs (like embeddings in a knowledge base) in sync automatically.

Key features#

  • Full sync: Automatically handles inserts, updates, and deletes so that knowledge bases remain accurate without manual intervention.

  • Change detection: Processes only new or modified records, avoiding unnecessary reprocessing of unchanged data.

  • Quick turnaround: Results become available immediately after a batch finishes processing. There is no need for a full source scan before starting.

  • Batch processing: Groups records into batches to be processed concurrently, which is optimal for GPU-based inference tasks.

Auto-processing modes#

There are three main modes for managing how data moves through the pipeline:

Mode

Description

Pros

Cons

Live

Uses Postgres triggers to process changes immediately within the same transaction that modifies the data.

Transactional guarantee, zero lag.

Can block/delay the original data modification transaction.

Background

Uses a Postgres background worker to process data asynchronously at a configurable interval (background_sync_interval).

Does not block user transactions and ideal for huge data sets.

Results are delayed by the sync interval.

Disabled

No automatic sync. Data must be processed manually using aidb.run_pipeline().

Full control over when resources are used.

High manual overhead, requires full reprocessing for table sources.

Configuration#

The auto-processing mode is set via the auto_processing parameter when creating or updating a pipeline.

Setting the mode at pipeline creation:

SELECT aidb.create_pipeline(
    name                     => my_pipeline,
    source                   => my_source_table,
    ...
    auto_processing          => Background,
    background_sync_interval => 5 minutes
);

Changing the mode for an existing pipeline:

SELECT aidb.update_pipeline(
    my_pipeline,
    auto_processing          => Live
);

For more details on these functions and their full parameter lists, see Pipelines API reference .

Parameter

Type

Description

auto_processing

aidb.PipelineAutoProcessingMode

Auto-processing mode: Live, Background, or Disabled.

background_sync_interval

interval

Interval between background executions. Must be between 1 second and 2 days. Only applies when auto_processing is Background.