PostgreSQLデータベースインテリジェントチャットアシスタント

Chat with Postgresql Database

自然言語でPostgreSQLデータベースと対話し、AIが自動的にSQLクエリを生成・実行し、簡単にデータの洞察を得られます。

11 NodesAI & MLAIアシスタントデータベースクエリPostgreSQL

ワークフロー概要

これはAIベースのPostgreSQLデータベース向けインテリジェント対話アシスタントワークフローであり、ユーザーが自然言語でデータベースと対話型クエリを行えるようにします。このワークフローはOpenAIの言語モデルを活用してユーザーの意図を理解し、SQLクエリを自動生成・実行した上で、ユーザーフレンドリーな形式で結果を返します。

主要機能

インテリジェントクエリ生成
ワークフローはAIエージェントを通じてユーザーの自然言語リクエストを解釈し、データベース構造に適合したSQLクエリ文を自動生成します。AIはクエリ内のテーブル名に正しいスキーマプレフィックスが含まれるようにし、クエリエラーを回避します。

データベース構造認識
システムは自動的にデータベースのスキーマ情報、テーブル一覧、および各テーブルの詳細定義(列名、データ型、外部キー関係など)を取得し、AIが正確なクエリを生成できるようにします。

対話履歴機能
チャット履歴機能を統合しており、デフォルトで直近5件の会話記録を保持します。これによりAIはコンテキストを理解し、より一貫性のある対話を提供できます。

ワークフロー構成

トリガーノード

  • When chat message received: チャットメッセージトリガー。ユーザーのクエリリクエストを受信します。

コア処理ノード

  • AI Agent: インテリジェントエージェントノード。クエリプロセス全体を調整し、OpenAI Functions Agentモードを使用します。
  • OpenAI Chat Model: GPT-4o-miniモデルを使用してAI機能を提供します。
  • Chat History: バッファウィンドウメモリモジュール。対話履歴を管理します。

ツールノード(AIエージェントが呼び出せるツール)

  1. Execute SQL Query: AIが生成したSQLクエリを実行します。
  2. Get DB Schema and Tables List: データベース内のすべてのテーブルと対応するスキーマ名を取得します。
  3. Get Table Definition: 指定されたテーブルの詳細定義情報(列、データ型、制約、外部キー関係など)を取得します。

システムプロンプト

AIアシスタントはデータベースアシスタントとして設定されており、主な役割は以下の通りです:

  • ユーザーリクエストに基づきデータベースクエリを実行する
  • データを集計するためのカスタムSQLクエリを生成する
  • 各テーブル名に正しいスキーマプレフィックスを付与することを保証する
  • ユーザーへの応答前に必要なすべてのデータを取得・分析する

技術的特徴

自動化されたスキーマ管理
ワークフローはデータベーススキーマを自動認識・管理し、生成されるSQLクエリの構文が正しいことを保証します。

インテリジェントデータ分析
AIは単にクエリを実行するだけでなく、返されたデータを分析し、ユーザーに意味のある解釈や洞察を提供します。

柔軟なモデル選択
他のチャットモデルへの置き換えが可能で、拡張性に優れています。

カスタマイズ可能なコンテキストウィンドウ
チャット履歴の保持件数を調整でき、パフォーマンスとコンテキスト理解のバランスを取ることができます。

使用シーン

  • ビジネスアナリストによる業務データの迅速なクエリ
  • 非技術者が自然言語でデータベースにアクセス
  • データ探索およびアドホッククエリ
  • 自動レポート生成
  • データベース構造の学習・理解

設定要件

  1. PostgreSQLデータベースの認証情報
  2. OpenAI APIの認証情報
  3. (任意)対話履歴ウィンドウの長さ調整(デフォルトは5件)
  4. (任意)ワークフローを有効化してチャットを公開利用可能にする