Pipelines API reference#

このページでは、AIパイプラインの完全なパブリックAPIについて説明します。API全体で使用される型と列挙型、パイプラインの状態を検査するためのビュー、コアCRUDおよび実行機能、パイプラインステップとベクターインデックスの構成ヘルパー機能。モデル構成ヘルパーについては、 Models reference を参照してください。

タイプ#

helpb.PipelineAutoProcessingモード#

パイプラインが新しいデータまたは変更されたデータを自動的に処理する方法を制御します。

CREATE TYPE PipelineAutoProcessingMode AS ENUM (
    Live,
    Background,
    Disabled
);

Value

Description

Live

Postgresトリガーを使用して、新しいデータが到着するとすぐに処理します。

Background

Postgresワーカーを使用して、バックグラウンドでデータを継続的に処理します。

Disabled

自動処理はありません。 `aidb.run_pipeline()`を使用して手動でトリガーします。

helpb.PipelineDataFormat#

パイプラインが処理するソースデータの形式を指定します。

CREATE TYPE PipelineDataFormat AS ENUM (
    Text,
    Image,
    Pdf
);

Value

Description

Text

プレーンテキストデータ。

Image

画像データバイト。

Pdf

PDFドキュメント。

promoteb.PipelineSourceType#

パイプラインが読み取るデータソースの種類を示します。

CREATE TYPE PipelineSourceType AS ENUM (
    Table,
    Volume,
    Empty
);

Value

Description

Table

Postgresテーブルまたはビュー。

Volume

PGFSストレージボリューム。

Empty

ソースなし。パイプラインは独自のデータを生成します。

promoteb.PipelineDestinationType#

パイプラインの書き込み先の種類を示します。

CREATE TYPE PipelineDestinationType AS ENUM (
    Table,
    Volume,
    Empty
);

Value

Description

Table

Postgresテーブル。

Volume

PGFSストレージボリューム。

Empty

目的地はありません。出力は破棄されます。

helpb.PipelineStepOperation#

パイプラインステップによって実行されるオペレーションを定義します。

CREATE TYPE PipelineStepOperation AS ENUM (
    ChunkText,
    SummarizeText,
    ParseHtml,
    ParsePdf,
    PerformOcr,
    KnowledgeBase,
    PdfToImage,
    SemanticKB
);

Value

Description

ChunkText

テキストをより小さなチャンクに分割します。

SummarizeText

言語モデルを使用してテキストを要約します。

ParseHtml

HTMLからテキストコンテンツを抽出します。

ParsePdf

PDFからテキストまたは画像を抽出します。

PerformOcr

画像で光学式文字認識を実行します。

KnowledgeBase

エンベディングを計算してナレッジベースに保存します。

PdfToImage

PDFページを画像に変換します。

SemanticKB

スキーマメタデータをセマンティックナレッジベースにインデックス付けします。

helpb.PipelineStatus#

パイプラインの現在の処理状態を表します。

CREATE TYPE PipelineStatus AS ENUM (
Stale
Processing
UpToDate
NoResults
Failed
Unknown
PartialErrors
BlockingErrors
);

Value

Description

Stale

ソースデータが変更されたため、パイプラインを実行する必要があります。

Processing

パイプラインは現在実行中です。

UpToDate

すべてのソースデータは正常に処理されました。

NoResults

処理は完了しましたが、出力は生成されません。

Failed

最後の実行は失敗しました。

PartialErrors

一部のレコードの処理に失敗しました。他の人は成功しました。

BlockingErrors

パイプラインの実行に失敗します。

Unknown

ステータスを判断できません。

helpb.DistanceOperator#

ベクトル類似性検索に使用される距離メトリックを指定します。

CREATE TYPE DistanceOperator AS ENUM (
    L2,
    InnerProduct,
    Cosine,
    L1,
    Hamming,
    Jaccard
);

Value

Description

L2

ユークリッド距離。

InnerProduct

内積。

Cosine

コサイン類似度。

L1

L1マンハッタンの距離。

Hamming

ハミング距離。

Jaccard

ジャッカード距離。


ドメイン#

promoteb.pipeline_name_50#

パイプライン名が50文字以下であることを適用するTEXT ドメイン。

promoteb.background_sync_interval#

バックグラウンド同期間隔が1 second と2 days の間であることを強制するINTERVAL ドメイン。


ビュー#

helpb.pipelines#

aidb.pipes としてもアクセスできます。登録されたすべてのパイプラインとその構成、ソース、宛先、処理モード、ステップ定義をリストします。

Column

Type

Description

id

integer

内部パイプライン識別子。

name

text

パイプラインの名前。

source_type

promoteb.PipelineSourceType

ソースがテーブルかボリュームかどうか。

source_schema

text

ソーステーブルのスキーマ。

source

text

ソーステーブルまたはボリュームの名前。

source_key_column

text

ソース内の一意キーとして使用される列。

source_data_column

text

処理するデータを含む列。

destination_type

promoteb.PipelineDestinationType

デスティネーションがテーブルかボリュームかどうか。

destination_schema

text

宛先テーブルのスキーマ。

destination

text

宛先テーブルまたはボリュームの名前。

destination_key_column

text

宛先テーブルのキー列。

destination_data_column

text

処理されたデータが書き込まれる宛先の列。

steps

jsonb

パイプラインステップ定義の順序付けられた配列。

auto_processing

helpb.PipelineAutoProcessingモード

自動処理モード。

batch_size

integer

バッチごとに処理されたレコードの数。

background_sync_interval

interval

バックグラウンドモードでの実行間の間隔。

owner_role

text

このパイプラインを所有するPostgresロール。

例#

SELECT name, source, destination, auto_processing FROM aidb.pipelines;

promoteb.pipeline_metrics#

aidb.pipem としてもアクセスできます。各パイプラインの現在の処理統計を表示します。

Column

Type

Description

pipeline

text

パイプラインの名前。

auto processing

text

現在の自動処理モード。

table: unprocessed rows

bigint

テーブルソースの場合 まだ処理されていない行数。

volume: scans completed

bigint

ボリュームソースの場合 完了したフルスキャンの数。

count(source records)

bigint

ソース内のレコードの合計数。

count(destination records)

bigint

宛先のレコードの合計数。

Status

text

現在の パイプラインステータスの統合 。

count(record errors)

bigint

処理に失敗したレコードの合計数。

count(blocking errors)

bigint

パイプラインの実行を妨げたエラーの合計数。

例#

SELECT * FROM aidb.pipeline_metrics;

__OUTPUT__
       pipeline       | auto processing | table: unprocessed rows | volume: scans completed | count(source records) | count(destination records) |  Status  | count(record errors) | count(blocking errors)
- ---------------------+-----------------+-------------------------+-------------------------+-----------------------+----------------------------+----------+----------------------+------------------------
 pipeline__7471a      | Background      |                       0 |                         |                     5 |                          5 | UpToDate |                    0 |                      0
 pipeline__7471b      | Background      |                       0 |                         |                     5 |                          5 | UpToDate |                    0 |                      0
 animal_facts_kb      | Disabled        |                       0 |                         |                    99 |                        372 | UpToDate |                    0 |                      0
 animal_facts_kb_bert | Disabled        |                       0 |                         |                    99 |                        372 | UpToDate |                    0 |                      0
 mpkb_pipe_int        | Disabled        |                       0 |                         |                     2 |                          4 | UpToDate |                    0 |                      0
 mpkb_pipe_text       | Disabled        |                       0 |                         |                     2 |                          4 | UpToDate |                    0 |                      0
(6 rows)

ファンクション#

promoteb.create_pipeline#

ソース、最大10の連続した処理ステップ、およびオプションの宛先を使用して新しいパイプラインを作成します。

パラメーター#

Parameter

Type

Default

Description

name

TEXT

Required

パイプラインの名前。最大50文字。

source

TEXT

Required

ソーステーブルまたはボリュームの名前。

step_1

helpb.PipelineStepOperation

Required

最初のパイプラインステップのオペレーション。

source_key_column

TEXT

NULL

ソーステーブルの一意のキー列。

source_data_column

TEXT

NULL

処理するデータを含む列。

destination

TEXT

NULL

宛先テーブルまたはボリュームの名前。

auto_processing

helpb.PipelineAutoProcessingモード

NULL

自動処理モード。

batch_size

INT

NULL

バッチごとに処理するレコードの数。

background_sync_interval

INTERVAL

NULL

バックグラウンドでの実行間の間隔。 1秒から2日の間である必要があります。

owner_role

TEXT

NULL

このパイプラインを所有および実行するロール。

step_1_options

JSONB

NULL

ステップ1の構成適切な パイプラインステップ構成ヘルパー を使用します。

step_2 … step_10

helpb.PipelineStepOperation

NULL

ステップ2〜10のオペレーション。

step_2_options … step_10_options

JSONB

NULL

手順2〜10の構成。

返品#

Column

Type

Description

name

text

作成されたパイプラインの名前。

destination_type

text

パイプラインの宛先のタイプ。

destination_schema

text

宛先のスキーマ。

destination

text

宛先の名前。

destination_key_column

text

宛先のキー列。

destination_data_column

text

宛先のデータ列。

例#

- - Single-step pipeline: chunk text from a table into a destination table
SELECT aidb.create_pipeline(
    name                => my_chunker,
    source              => source_docs,
    source_key_column   => id,
    source_data_column  => body,
    destination         => chunked_docs,
    step_1              => ChunkText,
    step_1_options      => aidb.chunk_text_config(200, 250, 25),
    auto_processing     => Live
);

- - Multi-step pipeline: parse PDF, then embed into a knowledge base
SELECT aidb.create_pipeline(
    name                => pdf_to_kb,
    source              => pdf_volume,
    destination         => my_kb,
    step_1              => ParsePdf,
    step_1_options      => aidb.pdf_parse_config(),
    step_2              => KnowledgeBase,
    step_2_options      => aidb.knowledge_base_config(my_model, Text),
    auto_processing     => Background,
    background_sync_interval => 60 seconds
);

promoteb.update_pipeline#

既存のパイプラインの自動処理設定を更新します。

パラメーター#

Parameter

Type

Default

Description

name

TEXT

Required

更新するパイプラインの名前。

auto_processing

helpb.PipelineAutoProcessingモード

NULL

新しい自動処理モード。

batch_size

INT

NULL

新しいバッチサイズ。

background_sync_interval

INTERVAL

NULL

新しいバックグラウンド同期間隔。

例#

SELECT aidb.update_pipeline(my_chunker, auto_processing => Background, background_sync_interval => 5 minutes);

promoteb.delete_pipeline#

パイプラインとその構成を削除します。ソースまたは宛先テーブルは削除しません。

パラメーター#

Parameter

Type

Default

Description

name

TEXT

Required

削除するパイプラインの名前。

例#

SELECT aidb.delete_pipeline(my_chunker);

promoteb.run_pipeline#

auto_processing モードに関係なく、パイプラインをすぐに実行するように手動でトリガーします。

パラメーター#

Parameter

Type

Default

Description

pipeline_name

TEXT

Required

実行するパイプラインの名前。

例#

SELECT aidb.run_pipeline(my_chunker);

パイプラインステップ構成ヘルパー#

これらのファンクションは、 aidb.create_pipeline のstep_N_options パラメーターで使用するJSONB 構成オブジェクトを結果ます。

promoteb.chunk_text_config#

テキストをより小さなセグメントに分割するようにChunkText ステップを構成します。

パラメーター#

Parameter

Type

Default

Description

desired_length

INTEGER

Required

ターゲットチャンクサイズ。

max_length

INTEGER

NULL

最大許可チャンクサイズ。

overlap_length

INTEGER

NULL

連続するチャンク間でオーバーラップするユニットの数。

strategy

TEXT

NULL

チャンク単位 'chars'`デフォルトまたは'words'`。

例#

- - Chunk into ~200 character segments, max 250, with 25-character overlap
SELECT aidb.chunk_text_config(200, 250, 25, chars);

helpb.summarize_text_config#

言語モデルを使用してテキストを要約するようにSummarizeText ステップを構成します。

パラメーター#

Parameter

Type

Default

Description

model

TEXT

Required

要約に使用するモデルの名前。

chunk_config

JSONB

NULL

要約する前に適用されるオプションのチャンク構成`aidb.chunk_text_config`から 。

prompt

TEXT

NULL

概要をガイドするカスタムプロンプト。

strategy

TEXT

NULL

'append'`デフォルトまたは'reduce'`。

reduction_factor

INTEGER

NULL

`'reduce'`ストラテジーの場合 各リダクションパスの積極性デフォルト3。

inference_config

JSONB

NULL

オプションの推論設定`aidb.inference_config`から。

例#

SELECT aidb.summarize_text_config(
    my_llm,
    chunk_config => aidb.chunk_text_config(100, 100, 10, words),
    prompt       => Summarize concisely,
    strategy     => reduce,
    reduction_factor => 4
);

promoteb.ocr_config#

モデルを使用して画像からテキストを抽出するようにPerformOcr ステップを構成します。

パラメーター#

Parameter

Type

Default

Description

model

TEXT

Required

使用するOCRモデルの名前。

例#

SELECT aidb.ocr_config(my_ocr_model);

promoteb.html_parse_config#

HTMLコンテンツからテキストを抽出するようにParseHtml ステップを構成します。

パラメーター#

Parameter

Type

Default

Description

method

TEXT

NULL

使用する解析方法。 `NULL`の場合、デフォルトの方法を使用します。

例#

SELECT aidb.html_parse_config();

promoteb.pdf_parse_config#

PDFドキュメントからコンテンツを抽出するようにParsePdf ステップを構成します。

パラメーター#

Parameter

Type

Default

Description

method

TEXT

NULL

使用する解析方法。 `NULL`の場合、デフォルトの方法を使用します。

allow_partial_parsing

BOOLEAN

NULL

`true`の場合、一部のページを解析できない場合に部分的な結果を返します。

例#

SELECT aidb.pdf_parse_config(allow_partial_parsing => true);

helpb.knowledge_base_config#

エンベディングを計算および保存するようにKnowledgeBase ステップを構成します。

パラメーター#

Parameter

Type

Default

Description

model

TEXT

Required

使用する埋め込みモデルの名前。

data_format

helpb.PipelineDataFormat

Required

埋め込まれるデータのフォーマット。

distance_operator

helpb.DistanceOperator

NULL

類似検索のための距離機能。デフォルト`L2`

vector_index

JSONB

NULL

ベクトルインデックス構成 Vectorインデックス構成ヘルパー から。

例#

SELECT aidb.knowledge_base_config(
    my_embedding_model,
    Text,
    distance_operator => Cosine,
    vector_index      => aidb.vector_index_hnsw_config(m => 16, ef_construction => 64)
);

fence.knowledge_base_config_from_kb#

新しいものを作成するのではなく、既存のナレッジベースにパイプラインを接続するようにKnowledgeBase ステップを構成します。

パラメーター#

Parameter

Type

Default

Description

data_format

helpb.PipelineDataFormat

Required

埋め込まれるデータのフォーマット。

例#

SELECT aidb.knowledge_base_config_from_kb(Text);

helpb.inference_config#

SummarizeText などの言語モデルステップで使用する推論構成オブジェクトをビルドします。すべてのパラメーターはオプショナル。

パラメーター#

Parameter

Type

Default

Description

system_prompt

TEXT

NULL

各要求の先頭に追加されるシステムプロンプト。

temperature

DOUBLE PRECISION

NULL

サンプリング温度より高い=よりランダム。

max_tokens

INTEGER

NULL

生成するトークンの最大数。

top_p

DOUBLE PRECISION

NULL

nucleusサンプリングしきい値。

seed

BIGINT

NULL

再現可能な出力のランダムシード。

repeat_penalty

REAL

NULL

繰り返されたトークンのペナルティ。

repeat_last_n

INTEGER

NULL

リピートペナルティを適用する最近のトークンの数。

thinking

BOOLEAN

NULL

拡張推論を有効にしますサポートされているモデルのみ。

extra_args

JSONB

NULL

追加のプロバイダー固有の推論引数。

例#

SELECT aidb.inference_config(
    system_prompt => You are a technical summarizer.,
    temperature   => 0.3,
    max_tokens    => 512
);

Vectorインデックス構成ヘルパー#

これらのファンクションは、 aidb.knowledge_base_config のvector_index パラメーターのJSONB 構成を結果ます。

promoteb.vector_index_hnsw_config#

HNSW インデックスpgvectorを構成します。

パラメーター#

Parameter

Type

Default

Description

vector_data_type

TEXT

NULL

ベクターストレージタイプ。

m

INTEGER

NULL

ノードごとの最大接続数デフォルト16。

ef_construction

INTEGER

NULL

ビルド時の検索の深さデフォルト64。

ef_search

INTEGER

NULL

クエリ時の検索の深さ。

注釈

HNSWは、最大2000ディメンションをサポートします。高次元ベクトルの場合、aidb.vector_index_disabled_config() を使用します。 !!!

次の表は、各distance_operator 値がpgvector opsクラスにどのようにマッピングされるかを示しています。

distance_operator

Index ops class

L2

vector_l2_ops

InnerProduct

vector_ip_ops

Cosine

vector_cosine_ops

L1

vector_l1_ops

例#

SELECT aidb.vector_index_hnsw_config(m => 16, ef_construction => 64);

promoteb.vector_index_ivflat_config#

pgvector IVFFlat インデックスを構成します。

パラメーター#

Parameter

Type

Default

Description

vector_data_type

TEXT

NULL

ベクターストレージタイプ。

lists

INTEGER

NULL

クラスター逆引きリストの数。

probes

INTEGER

NULL

クエリー時に検索するクラスターの数。

例#

SELECT aidb.vector_index_ivfflat_config(lists => 100);

promoteb.vector_index_chord_hnsw_config#

VectorChord HNSWインデックスを構成します。

パラメーター#

Parameter

Type

Default

Description

vector_data_type

TEXT

NULL

ベクターストレージタイプ。

m

INTEGER

NULL

ノードごとの最大接続数。

ef_construction

INTEGER

NULL

ビルド時の検索の深さ。

max_connections

INTEGER

NULL

グラフ内の最大接続数。

ml

DOUBLE PRECISION

NULL

グラフレイヤー構造を制御するレベル乗数。

例#

SELECT aidb.vector_index_chord_hnsw_config(m => 16, ef_construction => 64);

promoteb.vector_index_chord_vchordq_config#

VectorChord Vchordqインデックスを構成します。

パラメーター#

Parameter

Type

Default

Description

vector_data_type

TEXT

NULL

ベクターストレージタイプ。

lists

TEXT

NULL

クラスターの数。

spherical_centroids

BOOLEAN

NULL

クラスタリングするときは、球形の正規化された重心を使用します。

例#

SELECT aidb.vector_index_chord_vchordq_config(lists => 100, spherical_centroids => true);

promoteb.vector_index_hsphere_optimized_config#

HSphere最適化インデックスを構成します。

パラメーター#

Parameter

Type

Default

Description

clusters

INTEGER

Required

クラスターの数。

precision_val

DOUBLE PRECISION

Required

インデックス精度の値。

vector_data_type

TEXT

NULL

ベクターストレージタイプ。

例#

SELECT aidb.vector_index_hsphere_optimized_config(clusters => 256, precision_val => 0.95);

promoteb.vector_index_disabled_config#

ベクターインデックスの自動作成を無効にします。埋め込みディメンションが2000を超える場合、またはインデックスを手動で管理する場合にこれを使用します。

例#

SELECT aidb.vector_index_disabled_config();

モデル構成ヘルパー#

モデル構成ヘルパーは Models reference ページに移動しました。