AIDB overview#

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

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

AIDBの役割#

AIDBには、 パイプライン と ナレッジベース という2つの主要なビルディングブロックがあります。

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

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

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

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

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

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

主要な機能#

モデルの柔軟性 AIDBは、ローカルで実行されているモデルBERTやT5などに接続するだけでなく、OpenAI互換APIを介して外部モデルに接続します。サポートされているプロバイダーには、NVIDIA NIM、Google Gemini、およびOpenAI互換のエンドポイントが含まれます。モデルの資格情報は、標準のPostgresユーザーマッピング機能を介して安全に管理されます。

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

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

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

ベクトルインデックス制御 — ナレッジベースは、pgvectorを介してHNSWやIVFFlatなどの構成可能なベクトルインデックスをサポートしています。 VectorChordは、高パフォーマンスの代替手段としてもサポートされており、大規模なインデックス作成とより優れたスループットを提供します。