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 |
検索に使用されるベクトル距離ファンクション |
|
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ドキュメント |
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 |
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);