Knowledge bases reference#
ナレッジベースKB機能とビューのリファレンス。ガイドスタイルのドキュメントについては、 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_metrics#
aidb.kbm
としてもアクセスできます。各ナレッジベースの集計統計—パイプライン数、埋め込み行数、および最悪のパイプラインステータス。パイプラインごとの進行状況バックログ、エラー、ソース/宛先数については、
promoteb.pipeline_metrics を参照してください。
Column |
Type |
Description |
|---|---|---|
name |
text |
ナレッジベース名 schema.vector_table 。 |
pipelines |
integer |
このKBに接続されているパイプラインの数。 |
embeddings |
bigint |
ベクタテーブルの行数。 |
status |
text |
アタッチされているすべてのパイプラインで最悪のステータス AI pipelines を参照してください。 |
例#
SELECT * FROM aidb.kbm;
__OUTPUT__
name | pipelines | embeddings | status
- -----------------------------+-----------+------------+----------
public.product_catalog_kb | 1 | 1842 | UpToDate
public.customer_feedback_kb | 2 | 915 | UpToDate
(2 rows)
古いビュー名 aidb.knowledge_base_stats およびaidb.kbstat
は、下位互換性を保つためにaidb.knowledge_base_metrics
のエイリアスとして保持されます。
タイプ#
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.run_pipeline()`で手動実行 |
ナレッジベース機能#
パイプラインの自動処理モードを変更するには、 promoteb.update_pipeline を使用します。
promoteb.retrieve_key#
ソースデータを取得せずに、上位一致するエンベディングのソースレコードキーと距離を結果ます。
part_ids
では、マルチステップパイプラインの各ステップに一致するパーツのIDも結果ます。たとえば、単一のソースレコードがChunkText
ステップによって10の部分に分割されている場合、 part_ids
は、どのチャンクが一致したかを示します。
パラメーター#
Parameter |
Type |
Default |
Description |
|---|---|---|---|
knowledge_base_name |
TEXT |
Required |
ナレッジベースの名前 schema.vector_table 。 |
query |
TEXT or BYTEA |
Required |
テキストまたは画像のバイトを照会します。エンベディングモデルのデータ形式と一致する必要があります。 |
topk |
INTEGER |
1 |
返される結果の数。正の整数である必要があります。`0`または負の値はエラーを発生します。 |
deduplicate |
BOOLEAN |
true |
複数の「部分」チャンク/ページなどが一致する場合でも、各ソースの結果を1回だけ返します。 重複排除と中間結果 を参照してください。 |
返品#
Column |
Type |
Description |
|---|---|---|
key |
text |
ソースレコードキー |
distance |
double precision |
クエリーからのベクトル距離 |
part_ids |
bigint[] |
ソースレコードのどの部分たとえばチャンクまたはページが一致するベクトルを生成した |
pipeline_name |
text |
この行を提供したパイプラインの名前。 KBに複数のパイプラインが接続されている場合に役立ちます。 |
例#
SELECT * FROM aidb.retrieve_key(public.customer_feedback_kb, late delivery, topk=>3);
__OUTPUT__
key | distance | part_ids | pipeline_name
- -----+--------------------+----------+------------------
1042 | 1.1931772046185758 | {0,0} | feedback_eu_pipe
318 | 1.1980633963685476 | {2,0} | feedback_na_pipe
1057 | 1.2150919866080878 | {2,0} | feedback_eu_pipe
(3 rows)
helpb.retrieve_text#
エンベディングテーブルをソーステーブルに結合することにより、上位に一致するエンベディングのソーステキストと距離を結果ます。
part_ids
では、マルチステップパイプラインの各ステップに一致するパーツのIDも結果ます。たとえば、単一のソースレコードがChunkText
ステップによって10の部分に分割されている場合、 part_ids
は、どのチャンクが一致したかを示します。戻り列intermediate_steps
には、実際の中間ステップ出力が含まれます。
パラメーター#
Parameter |
Type |
Default |
Description |
|---|---|---|---|
knowledge_base_name |
TEXT |
Required |
ナレッジベースの名前 schema.vector_table 。 |
query |
TEXT or BYTEA |
Required |
テキストまたは画像のバイトを照会します。エンベディングモデルのデータ形式と一致する必要があります。 |
topk |
INTEGER |
1 |
返される結果の数。正の整数である必要があります。`0`または負の値はエラーを発生します。 |
deduplicate |
BOOLEAN |
true |
複数の「部分」チャンク/ページなどが一致する場合でも、各ソースの結果を1回だけ返します。 重複排除と中間結果 を参照してください。 |
返品#
Column |
Type |
Description |
|---|---|---|
key |
text |
ソースレコードキー |
value |
text |
ソーステキストのコンテンツ。 NULL 元のソースコンテンツが非テキストPDFまたは画像などの場合。他の列はまだ表面一致するメタデータです。 |
distance |
double precision |
クエリーからのベクトル距離 |
part_ids |
bigint[] |
ソースレコードのどの部分が一致したのかチャンクまたはページなど |
pipeline_name |
text |
このソースレコードを処理するパイプラインの名前 |
intermediate_steps |
jsonb |
マッチングは、intermediate_destination`で構成されたステップからの結果です。つまり、`part_ids`に属する値。パイプライン内のステップがない場合、中間ストレージが有効になっている場合、空 ` [] 。 エンドツーエンドの例 中間ストレージを使用したマルチステップパイプライン を参照してください。 |
intermediate_steps
は、ステップごとに1つのエントリを含むJSON配列であり、中間ストレージが有効になっており、それぞれの形状は次のとおりです。
{"value": "...", "operation": "ChunkText", "step_order": 1, "destination_table": "public.pipeline_my_pipeline_step_1"}
例#
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#
カスケード ナレッジベースに接続されているすべてのパイプラインを削除し、ベクターテーブルを削除し、レジストリエントリを削除します。基になるソーステーブルは削除しません。
KBと他のパイプラインのベクトルをそのまま維持しながら、マルチパイプラインKBから単一のパイプラインを削除するには、代わりに promoteb.delete_pipeline を使用します。最後に接続されたパイプラインを削除すると、KBがドロップされます。
パラメーター#
Parameter |
Type |
Description |
|---|---|---|
knowledge_base_name |
TEXT |
ナレッジベース識別子 schema.vector_table 。 |
例#
SELECT aidb.delete_knowledge_base(public.customer_feedback_kb);
ボリューム管理機能#
promoteb.create_volume#
PGFSストレージ場所からAIDBボリュームを作成します。ボリュームは、格納場所のコンテンツを行として公開する外部テーブルであり、ナレッジベースデータソースとして使用したり、 SQLで直接照会したりできます。最初にPGFSストレージの場所を設定するには、 Configuring external storage を参照してください。
パラメーター#
Parameter |
Type |
Description |
|---|---|---|
name |
TEXT |
ボリュームの名前。有効な引用符のないPostgreSQL識別子である必要があります。 |
server_name |
TEXT |
PGFS格納場所の名前。 |
path |
TEXT |
保存場所内のオプションのサブパス。単一の末尾のスラッシュに正規化されましたたとえば、 foo、/foo、foo/、/foo/`はすべて`foo/`として保存されます。`NULL`または/は/`として保存されます。 |
data_format |
TEXT |
データ形式 Text、Image、または`Pdf` |
例#
SELECT aidb.create_volume(pdf_volume, my_s3_location, /, Pdf);
helpb.volumes#
データベース内のすべてのAIDBボリュームをリストするビュー。 schema
、volume 、storage_location 、およびpath を返します。
例#
SELECT * FROM aidb.volumes;
promoteb.delete_volume#
AIDBボリュームを削除します。
!!!note 基になるPGFSストレージの場所を削除すると、その上に構築されたすべてのボリュームも削除されます。
パラメーター#
Parameter |
Type |
Description |
|---|---|---|
volume_name |
TEXT |
削除するボリュームの名前。 |
例#
SELECT aidb.delete_volume(pdf_volume);