【製品解説】AI Database(AIDB)7.4.0
Postgres内でAIワークフローを完結 〜外部ストレージのクエリ可能化、送信許可リストによる制御、HuggingFaceダウンロードの堅牢化を統合:データ漏洩を防ぎデータベース内でRAGやセマンティック検索を実現するAIDBが最新化!PGFS連携による外部ストレージのテーブル化やネットワーク送信許可リストの追加、バッチ要約処理を搭載。SQLネイティブなAIパイプライン構築をさらに安全かつ強固にします。
1. AIDBとは?
AIDBは、AIデータワークフローをPostgresデータベースに直接統合する、EDBが保守・提供するPostgreSQL拡張機能です。AIアプリケーション用のデータの準備、埋め込み(エンベディング)、インデックス作成を行うパイプラインを構築するための、宣言的でSQLネイティブな方法を提供します。データをデータベースから外部に出すことなく、検索拡張生成(RAG)、セマンティック検索、大規模言語モデル(LLM)の統合といった機能の基盤として機能します。
2. AIDBの仕組み
AIDBはスタンドアロンの拡張機能としてPostgres内で完全に動作し、主に以下のコンポーネントで構成されています。
- AIパイプライン(AI Pipelines): 生データをAIで利用可能なベクトルに変換する、SQLで定義されたマルチステップのワークフローです。データソースからデータを抽出し、各種変換(HTML/PDF解析、OCR、テキストチャンク化、要約など)を実行してターゲットに埋め込みます。
- ナレッジベース(Knowledge Bases): パイプラインから出力された埋め込みデータは、
pgvectorでインデックス化されたテーブル「ナレッジベース」に保存され、SQL関数(aidb.retrieve_text等)を通じてセマンティック検索やハイブリッド検索を実行できます。 - モデルの統合(Model Integrations): オープンソースモデル(BERT、CLIP、Llama等)をPostgresホスト上でローカル実行するほか、外部API(OpenAI、NVIDIA NIM、Google Gemini、OpenRouter)に安全に接続して利用可能です。
3. 主なメリット
- セキュリティとコンプライアンスの強化: データがデータベース外に出ないため、機密情報を外部送信する必要がなくコンプライアンス対応を大幅に簡素化できます。
- 共通インターフェースとしてのSQL: SQLを理解するユーザーであれば誰でも、使い慣れた構文でAIを活用したデータ分析が可能です。
- 外部インフラの排除: データベース自体をコンピューティングレイヤーとして使用することで、Airflow DAGや専用ベクトルDB等の外部ツールが不要になります。
- リアルタイムなアドホックインテリジェンス: ライブデータに対する即時クエリが可能になり、ソースデータの変更は自動的にナレッジベースへ同期されます。
- PostgreSQL機能の継承: クエリプランナー、パラレルワーカー、コネクションプーリング、RBACなどの高度なPostgres機能をそのまま活用できます。
4. バージョン7.4.0 新機能
【新機能および機能強化】
- 外部テーブルとしてのボリューム公開: AIDBボリュームがPGFSをバックエンドとする外部テーブル(Foreign Table)として公開され、標準SQL(SELECT, INSERT, UPDATE, DELETE)で外部ストレージを直接操作可能になりました。
- ネットワーク送信(エグレス)の許可リスト:
aidb.egress_allowlistにより、モデル呼び出しやHuggingFaceダウンロードにおける外部HTTPトラフィックをCIDRやホスト名で制限可能になりました。 - HuggingFaceダウンロードの堅牢化: ローカルモデル取得時の自動再開、ファイルサイズ/SHA-256検証、進捗通知、破損キャッシュの自動修復機能を追加しました。
- 厳格な設定検証とエラーメッセージ明確化: 不明なキーや型エラーを即座に判定する厳密なバリデーションや、リクエストURL付きHTTPエラー表示を導入しました。
- バッチ要約処理の向上:
SummarizeTextステップで入力ごとの再試行機能を備えたレコードバッチ処理に対応しました。
【主なバグ修正】
- 検索結果が空の場合にエラーではなく警告付き「行なし(no rows)」を返すよう変更。
- PDFや画像などの非テキストソースに対する文字化けを防止し、
value列にNULLを正しく返すよう修正。 - メトリクスコレクターのデッドロック解消およびBIGINT主キーでの範囲外エラーを解決。
- テキスト分割処理におけるメモリ/並行制御(
batch_size)を遵守するサブバッチ処理を追加。