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ドキュメント。 |
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 |
ソースがテーブルかボリュームかどうか。 |
|
source_schema |
text |
ソーステーブルのスキーマ。 |
source |
text |
ソーステーブルまたはボリュームの名前。 |
source_key_column |
text |
ソース内の一意キーとして使用される列。 |
source_data_column |
text |
処理するデータを含む列。 |
destination_type |
デスティネーションがテーブルかボリュームかどうか。 |
|
destination_schema |
text |
宛先テーブルのスキーマ。 |
destination |
text |
宛先テーブルまたはボリュームの名前。 |
destination_key_column |
text |
宛先テーブルのキー列。 |
destination_data_column |
text |
処理されたデータが書き込まれる宛先の列。 |
steps |
jsonb |
パイプラインステップ定義の順序付けられた配列。 |
auto_processing |
自動処理モード。 |
|
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 |
Required |
最初のパイプラインステップのオペレーション。 |
|
source_key_column |
TEXT |
NULL |
ソーステーブルの一意のキー列。 |
source_data_column |
TEXT |
NULL |
処理するデータを含む列。 |
destination |
TEXT |
NULL |
宛先テーブルまたはボリュームの名前。 |
auto_processing |
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 |
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 |
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 |
|
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
ステップを構成します。
パラメーター#
例#
SELECT aidb.pdf_parse_config(allow_partial_parsing => true);
helpb.knowledge_base_config#
エンベディングを計算および保存するようにKnowledgeBase
ステップを構成します。
パラメーター#
Parameter |
Type |
Default |
Description |
|---|---|---|---|
model |
TEXT |
Required |
使用する埋め込みモデルの名前。 |
data_format |
Required |
埋め込まれるデータのフォーマット。 |
|
distance_operator |
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 |
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 ページに移動しました。