Pipelines retrievers (deprecated) reference
===========================================

..  Important::
   The use of the term "retrievers" has been deprecated in version 4.0 and later. It is replaced by the term "knowledge base" and users should consult the  :ref:`Pipelines knowledge bases reference <Pipelines knowledge bases reference>`  reference content.  For backwards compatibility, the retrievers API is still available, but it is recommended to use the knowledge base API for new implementations. This section is covers the deprecated functions only. For the new API, see  :ref:`Pipelines knowledge bases reference <Pipelines knowledge bases reference>`  .

helpb.RetrieverSourceDataFormat
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

もう利用できません。代わりに :ref:`aidb.PipelineDataFormat <aidb.PipelineDataFormat>` を使用してください。

ファンクション
--------------

``aidb.create_retriever_for_table`` 非推奨
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

**置き換えられました** :ref:`aidb.create_table_knowledge_base <aidb.create_table_knowledge_base>` 

指定されたテーブルのリトリーバーを作成します。

パラメーター
^^^^^^^^^^^^

.. csv-table::
  :header: Parameter,Type,Default,Description
  :widths: 15,12,12,20
  :align: left
  :class: longtable

  name,TEXT,Required,レトリーバーの名前
  model_name,TEXT,Required,使用するモデルの名前
  source_table,regclass,Required,ソースとして使用するテーブルの名前
  source_data_column,TEXT,Required,使用するソーステーブルの列名
  source_data_type,:ref:`helpb.PipelineDataFormat<helpb.PipelineDataFormat>` ,Required,"その列のデータの種類""Text"".""Image"",""PDF"""
  source_key_column,TEXT,'id',行を参照するためのキーとして使用する列
  vector_table,TEXT,NULL,NA
  vector_data_column,TEXT,'embeddings',NA
  vector_key_column,TEXT,'id',NA
  topk,INTEGER,1,NA
  distance_operator,:ref:`helpb.DistanceOperator<helpb.DistanceOperator>` ,'L2',NA
  options,JSONB,'{}'::JSONB,オプション
  index_type,TEXT,'vector',ベクトルテーブルに使用するインデックスのタイプ。

..  note "Index_types"::
   - If `index_type`  is set to `vector` , the system will automatically create a  `hnsw <https://github.com/pgvector/pgvector?tab=readme-ov-file#hnsw>`_  index on the vector table based on the distance operator used in the retriever. This is the default index type. The `vector`  index type is only able to support 2000 dimensions or less. If more dimensions are needed, the index type should be set to `disabled` .

.. csv-table::
  :header: distance_operator,index_type
  :widths: 10,30
  :align: left
  :class: longtable

  L2,`vector_l2_ops`
  InnerProduct,`vector_ip_ops`
  Cosine,`vector_cosine_ops`
  L1,`vector_l1_ops`

- ``index_type`` が\ ``ivfflat``
  に設定されている場合、システムはベクターテーブルに `IVFFlat <https://github.com/pgvector/pgvector?tab=readme-ov-file#ivfflat>`_ インデックスを作成します。

- ``index_type`` が\ ``disabled``
  に設定されている場合、インデックスは作成されません。

.. ::
   #### Example

.. code:: sql

   SELECT aidb.create_retriever_for_table(
                  name => test_retriever,
                  model_name => simple_model,
                  source_table => test_source_table,
                  source_data_column => content,
                  source_data_type => Text,
          );

``aidb.create_retriever_for_volume`` 非推奨
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

**置き換えられました** :ref:`aidb.create_volume_knowledge_base <aidb.create_volume_knowledge_base>` 

指定されたPGFSボリュームのリトリーバーを作成します。

.. _パラメーター-1:

パラメーター
^^^^^^^^^^^^

.. csv-table::
  :header: Parameter,Type,Default,Description
  :widths: 15,12,12,20
  :align: left
  :class: longtable

  name,TEXT,Required,レトリーバーの名前
  model_name,TEXT,Required,モデルの名前
  source_volume_name,TEXT,Required,ボリュームの名前
  vector_table,TEXT,NULL,ベクタテーブルの名前
  vector_data_column,TEXT,'embeddings',ベクター列の名前
  vector_key_column,TEXT,'id',キーカラムの名前
  topk,INTEGER,1,返される結果の数
  distance_operator,aidb.distanceoperator,'L2',距離演算子
  options,JSONB,'{}'::JSONB,オプション
  index_type,TEXT,'vector',ベクトルテーブルに使用するインデックスのタイプ。

..  note "Index_types"::
   - If `index_type`  is set to `vector` , the system will automatically create a  `hnsw <https://github.com/pgvector/pgvector?tab=readme-ov-file#hnsw>`_  index on the vector table based on the distance operator used in the retriever. This is the default index type. The `vector`  index type is only able to support 2000 dimensions or less. If more dimensions are needed, the index type should be set to `disabled` .

.. csv-table::
  :header: distance_operator,index_type
  :widths: 10,30
  :align: left
  :class: longtable

  L2,`vector_l2_ops`
  InnerProduct,`vector_ip_ops`
  Cosine,`vector_cosine_ops`
  L1,`vector_l1_ops`

- ``index_type`` が\ ``ivfflat``
  に設定されている場合、システムはベクターテーブルに `IVFFlat <https://github.com/pgvector/pgvector?tab=readme-ov-file#ivfflat>`_ インデックスを作成します。

- ``index_type`` が\ ``disabled``
  に設定されている場合、インデックスは作成されません。

.. ::
   #### Example

.. code:: sql

   SELECT aidb.create_retriever_for_volume(
                  name => demo_vol_retriever,
                  model_name => simple_model,
                  source_volume_name => demo_bucket_vol
          );

``aidb.set_retriever_auto_processing`` 非推奨
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

**置き換えられました** :ref:`aidb.set_auto_knowledge_base <aidb.set_auto_knowledge_base>` 

このナレッジベースの自動処理モードを設定します。

.. _パラメーター-2:

パラメーター
^^^^^^^^^^^^

.. csv-table::
  :header: Parameter,Type,Default,Description
  :widths: 15,12,12,20
  :align: left
  :class: longtable

  retriever_name,TEXT,"",自動埋め込みを有効にするレトリバーの名前
  mode,aidb.PipelineAutoProcessingMode,"",目的の自動処理モード

例
^^

.. code:: sql

   SELECT aidb.set_retriever_auto_processing(test_retriever, Live);
   SELECT aidb.set_retriever_auto_processing(test_retriever, Disabled);

``aidb.delete_retriever`` 非推奨
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

**置き換えられました** :ref:``aidb.delete_knowledge_base` <`aidb.delete_knowledge_base`>` 

レトリーバーの構成のみをデータベースから削除します。

.. _パラメーター-3:

パラメーター
^^^^^^^^^^^^

.. csv-table::
  :header: Parameter,Type,Default,Description
  :widths: 15,12,12,20
  :align: left
  :class: longtable

  retriever_name,TEXT,"",削除するレトリバーの名前

.. _例-1:

例
^^

.. code:: sql

   select aidb.delete_retriever(test_retriever);
   __OUTPUT__
    delete_retriever
   - -----------------

   (1 row)
