Knowledge bases reference#

ナレッジベースの機能とビューのリファレンス。ガイドスタイルのドキュメントについては、 Knowledge bases reference を参照してください。

ビュー#

helpb.Knowledge_bases#

aidb.kbs としてもアクセスできます。データベース内のすべてのナレッジベースとその完全な構成をリストします。

Column

Type

Description

id

integer

内部識別子

name

text

ナレッジベース名

vector_schema

text

エンベディングテーブルのスキーマ

vector_table

text

エンベディングストレージテーブル

model_name

text

使用される埋め込みモデル

distance_operator

helpb.DistanceOperator

検索に使用されるベクトル距離ファンクション

distance_operator_sql

text

SQL演算子構文の距離演算子たとえば <->、<=>

vector_data_column

text

エンベディング列

vector_key_column

text

エンベディングテーブルのキー列

vector_index

jsonb

ベクトルインデックス構成

pipeline_ids

integer[]

このナレッジベースに接続されているすべてのパイプラインのID

pipeline_names

text[]

このナレッジベースに接続されているすべてのパイプラインの名前


helpb.knowledge_base_stats#

aidb.kbstat としてもアクセスできます。すべてのナレッジベースパイプラインの現在の処理統計を提供します。

:raw-latex:`d a`gentb.knowledge_base_stats View “aidb.knowledge_base_stats” 列 | タイプ |照合 | Nullable |デフォルト ————+———-+———–+———-+— —— 名前 |テキスト | | |パイプライン |整数 | | | <- 埋め込みにアタッチされたパイプラインの数 | bigint | | | ←これは古い「count(embeddings)」ステータスです。テキスト | | | <– “aidb.pipeline_metrics”と同じステータスフィールドですが、接続されているすべてのパイプラインの「最悪」ステータスを収集します

例#

SELECT * from aidb.kbm;

__OUTPUT__
                 name                 | pipelines | embeddings |  status
- -------------------------------------+-----------+------------+----------
 public.pipeline_pipeline__7471a      |         1 |          5 | UpToDate
 public.pipeline_pipeline__7471b      |         1 |          5 | UpToDate
 public.pipeline_animal_facts_kb      |         1 |        372 | UpToDate
 public.pipeline_animal_facts_kb_bert |         1 |        372 | UpToDate
 public.mpkb_shared_vectors           |         2 |          4 | UpToDate
(5 rows)

タイプ#

helpb.DistanceOperator#

取得中に使用されるベクトル距離ファンクション。

Value

Description

L2

ユークリッド距離

InnerProduct

内積

Cosine

コサイン類似度

L1

L1距離

Hamming

ハミング距離

Jaccard

Jaccard距離


helpb.PipelineDataFormat#

パイプラインソースまたはボリュームのデータのフォーマット。

Value

Description

Text

プレーンテキスト

Image

バイナリ画像データ

Pdf

PDFドキュメント


helpb.PipelineAutoProcessingモード#

ナレッジベースパイプラインの自動処理モード。

Value

Description

Live

データが変更されるたびにPostgresトリガーを介した即時処理

Background

Postgresバックグラウンドワーカーを介した定期処理

Disabled

自動処理なし。 `aidb.bulk_embedding()`で手動実行


ナレッジベース機能#

promoteb.set_auto_knowledge_base#

既存のナレッジベースの自動処理モードを更新します。

パラメーター#

Parameter

Type

Default

Description

knowledge_base_name

TEXT

Required

ナレッジベースの名前。

mode

helpb.PipelineAutoProcessingモード

Required

新しい自動処理モード。

batch_size

INTEGER

NULL

バッチごとに処理されたレコードバックグラウンドおよび無効モード。

background_sync_interval

INTERVAL

NULL

ポーリング間隔バックグラウンドモード。

例#

SELECT aidb.set_auto_knowledge_base(my_kb, Live);
SELECT aidb.set_auto_knowledge_base(my_kb, Background, background_sync_interval => 1 minute);
SELECT aidb.set_auto_knowledge_base(my_kb, Disabled, batch_size => 200);

promoteb.retrieve_key#

ソースデータを取得せずに、上位一致するエンベディングのソースレコードキーと距離を結果ます。 part_ids では、呼び出しは、マルチステップパイプラインのステップごとに、クエリーに一致するパーツのIDも結果ます。たとえば、単一のソースレコードが「ChunkText」ステップによって10の部分に分割されている場合、 part_ids は、どのチャンクが一致したかを示します。

パラメーター#

Parameter

Type

Default

Description

knowledge_base_name

TEXT

Required

ナレッジベースの名前。

query

TEXT

Required

検索するクエリテキスト。

topk

INTEGER

1

返される結果の数。

deduplicate

BOOLEAN

true

複数の「部分」チャンク/ページなどが一致する場合でも、各ソースの結果を1回だけ返します

返品#

Column

Type

Description

key

text

ソースレコードキー

distance

double precision

クエリーからのベクトル距離

part_ids

bigint[]

どの部分つまりパイプラインステップの結果が一致するチャンクまたはページ

pipeline_name

text

このソースレコードを処理するパイプラインの名前

例#

SELECT * FROM aidb.retrieve_key(public.pipeline_animal_facts_kb, birds, topk=>3);

__OUTPUT__
 key |      distance      | part_ids |  pipeline_name
- ----+--------------------+----------+-----------------
 5   | 1.1931772046185758 | {0,0}    | animal_facts_kb
 93  | 1.1980633963685476 | {2,0}    | animal_facts_kb
 98  | 1.2150919866080878 | {2,0}    | animal_facts_kb
(3 rows)

helpb.retrieve_text#

エンベディングテーブルをソーステーブルに結合することにより、上位に一致するエンベディングのソーステキストと距離を結果ます。 part_ids では、呼び出しは、マルチステップパイプラインのステップごとに、クエリーに一致するパーツのIDも結果ます。たとえば、単一のソースレコードが「ChunkText」ステップによって10の部分に分割されている場合、 part_ids は、どのチャンクが一致したかを示します。戻り列intermediate_steps には、中間ステップ結果の実際の結果テキストが含まれます。

パラメーター#

Parameter

Type

Default

Description

knowledge_base_name

TEXT

Required

ナレッジベースの名前。

query_string

TEXT

Required

検索するクエリテキスト。

number_of_results

INTEGER

0

返される結果の数。 `0`の場合、デフォルトの`topk`を使用します。

knowledge_base_name

TEXT

Required

ナレッジベースの名前。

query

TEXT

Required

検索するクエリテキスト。

topk

INTEGER

1

返される結果の数。

deduplicate

BOOLEAN

true

複数の「部分」チャンク/ページなどが一致する場合でも、各ソースの結果を1回だけ返します

返品#

Column

Type

Description

key

text

ソースレコードキー

value

text

ソーステキストの内容

distance

double precision

クエリーからのベクトル距離

part_ids

bigint[]

どの部分つまりパイプラインステップの結果が一致するチャンクまたはページ

pipeline_name

text

このソースレコードを処理するパイプラインの名前

intermediate_steps

jsonb

マッチングは中間ステップからの結果です。つまり、「part_ids」に属する値

例#

SELECT * FROM aidb.retrieve_text(my_kb, waterproof jacket, 3);

__OUTPUT__
  key  |                       value                        |      distance
- ------+----------------------------------------------------+--------------------
 19337 | Men Stripes Waterproof Shell Jacket                | 0.2994317672742334
 55018 | Women All-Weather Hiking Anorak                    | 0.3804609668507203
(2 rows)

promoteb.delete_knowledge_base#

ナレッジベースを削除します。つまり、その宛先ベクトルテーブルとその構成。アタッチされたすべてのパイプラインも削除します。基になるソーステーブルは削除しません。

パラメーター#

Parameter

Type

Description

knowledge_base_name

TEXT

削除するナレッジベースの名前。

例#


ボリュームファンクション#

promoteb.create_volume#

ナレッジベースデータソースとして使用するために、PGFS格納場所からAIDBボリュームを作成します。最初にPGFSストレージの場所を設定するには、 Configuring external storage を参照してください。

パラメーター#

Parameter

Type

Description

name

TEXT

ボリュームの名前。

server_name

TEXT

PGFS格納場所の名前。

path

TEXT

保存場所内のサブパス。

mime_type

TEXT

データ型 Text、Image、または`Pdf`。

例#

SELECT aidb.create_volume(pdf_volume, my_s3_location, /, Pdf);

promoteb.list_volumes#

データベース内のすべてのAIDBボリュームをリストします。

SELECT * FROM aidb.list_volumes();

promoteb.delete_volume#

AIDBボリュームを削除します。注基になるPGFSストレージ場所を削除すると、その上に構築されたすべてのボリュームも削除されます。

パラメーター#

Parameter

Type

Description

volume_name

TEXT

削除するボリュームの名前。

SELECT aidb.delete_volume(pdf_volume);