Hybrid search reference#

AIDBは、ハイブリッド検索クエリを構成するためのヘルパーファンクションとメタデータビューを提供します。これらを使用して、モデル名やテーブルパスをハードコーディングせずに、特定のナレッジベースに対するクエリーをエンコードし、取得した結果を再ランク付けし、ナレッジベース構成を検査します。

quietb.kb_query_encode()#

モデル名を検索する必要なく、特定のナレッジベース用に構成された埋め込みモデルを使用してテキストクエリーをエンコードします。

SELECT aidb.kb_query_encode(public.my_kb_vector, test query);

カスタムベクタークエリを構築するときに、 aidb.encode_text_query('<model>', '<query>') の代わりにこれを使用します。

quietb.rerank_text()#

候補を取得した後、最終的な関連性の高い結果を得るために再ランキングモデルに渡します。

SELECT aidb.rerank_text(my_reranking_model, query text, ARRAY[result1, result2, ...]);

nim_reranking やhf_tei_reranking などの再ランキングモデルは、取得後の別の後処理ステップとしてサポートされています。

aidb.knowledge_bases view#

aidb.knowledge_bases ビュー aidb.kbs としてもアクセス可能は、ハイブリッドクエリーの構成に必要なすべてのメタデータを公開します。

Column

Type

Description

id

integer

内部識別子

name

text

ナレッジベース名

vector_schema

text

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

vector_table

text

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

model_name

text

このKBで使用される埋め込みモデル

distance_operator

aidb.distanceoperator

距離メトリックの列挙値

distance_operator_sql

text

SQL演算子構文の距離演算子

vector_data_column

text

エンベディングを格納する列

vector_key_column

text

埋め込みをソース行にリンクする列

vector_index

jsonb

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

pipeline_ids

integer[]

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

pipeline_names

text[]

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

SELECT name, vector_schema, vector_table, distance_operator_sql
FROM aidb.knowledge_bases;