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;