AIDB overview
=============

AIDBは、EDBによって維持されるPostgres拡張機能であり、AIデータワークフローをPostgresデータベースに直接もたらします。これは、AIアプリケーションのデータを準備、埋め込み、インデックス付けするパイプラインを構築する宣言的SQLネイティブの方法を提供します取得拡張生成RAG、セマンティック検索、大規模言語モデルLLM統合を含みます。

AIDBはPostgres内で実行されるため、データがデータベースを離れる必要はありません。
SQLでAIワークフローを定義すると、AIDBがエンベディング生成、ベクトルインデックス、モデル統合、リアルタイム同期の複雑さを処理します。

AIDBの役割
----------

AIDBには、 **パイプライン** 、 **ナレッジベース** 、 **エージェント**
、および **ツール** の4つの主要なビルディングブロックがあります。

** :ref:`Creating pipelines <Creating pipelines>` **
生データをAI対応ベクターに変換するマルチステップワークフローを定義します。パイプラインの各ステップは、1つの変換-PDFの解析、テキストのチャンク、OCRの実行、コンテンツの要約、またはベクター埋め込みの生成を処理します。パイプラインは、オンデマンドでバッチで、またはソースデータが変更されるたびに自動的に実行できます。

** :ref:`Knowledge bases reference <Knowledge bases reference>` **
は、埋め込みパイプラインステップの出力です。これらはpgvectorインデックステーブルにベクトル埋め込みを保存し、
``aidb.retrieve_key()`` および\ ``aidb.retrieve_text()``
ファンクションを介してセマンティック検索を公開します。複数のパイプラインは同じナレッジベースにフィードでき、単一のナレッジベースで複数の取得クエリを提供できます。

** :ref:`Agents reference <Agents reference>` **
モデルにワンショットで回答するのではなく、複数のステップを推論させます。エージェントはツールを呼び出し、その結果を観察し、回答が得られるまで繰り返します。エージェントは、要求の一部を別のエージェントに委任することもできます。

** :ref:`Tools reference <Tools reference>` **
は、エージェントがアクションを実行するために呼び出すものです —
AIDB独自のビルトインオペレーションパイプラインのステータスの照会、ナレッジベースの検索、
SQLクエリーの実行、独自のカスタムSQLクエリー、または外部MCPからインポートされたオペレーションサーバー。

すべてのパイプライン操作は、スタンドアロンの **SQLファンクション** -
``aidb.chunk_text()`` 、\ ``aidb.parse_pdf()``
、\ ``aidb.perform_ocr()`` 、\ ``aidb.summarize_text()`` など -
として使用できるため、完全なパイプラインを定義せずにクエリで直接呼び出すことができます。

スタンドアロンの拡張機能としてのAIDB
------------------------------------

AIDBはPostgres拡張機能です。完全にデータベース内にあり、Agent
FactoryまたはHybrid
ManagerHMへの実行時依存はありません。他のPostgres拡張機能と同じようにインストールし、\ ``postgresql.conf``
を介して構成し、 SQLを介して対話します。

!!!note Agent
Factoryを使用している場合、AIDBはそのプラットフォームの一部として既に含まれていますが、Agent
FactoryはAIDBを使用する必要はありません。このドキュメントでは、スタンドアロンAIDBについて説明します。

主要な機能
----------

**モデルの柔軟性**
AIDBは、ローカルで実行されているモデルBERTやT5などに接続するだけでなく、OpenAI互換APIを介して外部モデルに接続します。サポートされているプロバイダーには、NVIDIA
NIM、Google
Gemini、およびOpenAI互換のエンドポイントが含まれます。モデルの資格情報は、標準のPostgresユーザーマッピング機能を介して安全に管理されます。または、データベースにシークレットを保存するのをまったく回避するには、代わりにそれを読み取る環境変数を名前付けます。
:ref:`環境変数からの資格情報 <環境変数からの資格情報>` を参照してください。

**データソースのサポート**
—パイプラインは、標準のPostgresテーブルから、またはオブジェクトストアとローカルファイルシステムをサポートする :ref:`Postgres File System (PGFS) </pg_extensions/pgfs/>` 拡張機能を介して :ref:`Configuring external storage <Configuring external storage>` から読み取ることができます。パイプライン出力は、Postgresテーブルに書き込むか、PGFSを使用してボリュームに戻すことができます。

**自動処理** —
Postgresトリガーベースのライブモードまたはバックグラウンドワーカーベースのスケジューリングを使用して、自動的に実行するようにパイプラインを構成できます。これにより、手動介入なしでソースデータが変更されると、ナレッジベースが最新の状態に保たれます。

**スキーマの柔軟性**
すべてのAIDBオブジェクトパイプライン、ナレッジベース、ボリュームは任意のPostgresスキーマで作成でき、既存のデータベース構造に沿ってAIワークロードを簡単に編成できます。

**ベクトルインデックス制御** —
ナレッジベースは、pgvectorを介してHNSWやIVFFlatなどの構成可能なベクトルインデックスをサポートしています。

.. toctree::
  :maxdepth: 3

  overview--known-issues
