PostgreSQLデータベースインテリジェントチャットアシスタント
Chat with Postgresql Database
自然言語でPostgreSQLデータベースと対話し、AIが自動的にSQLクエリを生成・実行し、簡単にデータの洞察を得られます。
ワークフロー概要
これは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エージェントが呼び出せるツール)
- Execute SQL Query: AIが生成したSQLクエリを実行します。
- Get DB Schema and Tables List: データベース内のすべてのテーブルと対応するスキーマ名を取得します。
- Get Table Definition: 指定されたテーブルの詳細定義情報(列、データ型、制約、外部キー関係など)を取得します。
システムプロンプト
AIアシスタントはデータベースアシスタントとして設定されており、主な役割は以下の通りです:
- ユーザーリクエストに基づきデータベースクエリを実行する
- データを集計するためのカスタムSQLクエリを生成する
- 各テーブル名に正しいスキーマプレフィックスを付与することを保証する
- ユーザーへの応答前に必要なすべてのデータを取得・分析する
技術的特徴
自動化されたスキーマ管理
ワークフローはデータベーススキーマを自動認識・管理し、生成されるSQLクエリの構文が正しいことを保証します。
インテリジェントデータ分析
AIは単にクエリを実行するだけでなく、返されたデータを分析し、ユーザーに意味のある解釈や洞察を提供します。
柔軟なモデル選択
他のチャットモデルへの置き換えが可能で、拡張性に優れています。
カスタマイズ可能なコンテキストウィンドウ
チャット履歴の保持件数を調整でき、パフォーマンスとコンテキスト理解のバランスを取ることができます。
使用シーン
- ビジネスアナリストによる業務データの迅速なクエリ
- 非技術者が自然言語でデータベースにアクセス
- データ探索およびアドホッククエリ
- 自動レポート生成
- データベース構造の学習・理解
設定要件
- PostgreSQLデータベースの認証情報
- OpenAI APIの認証情報
- (任意)対話履歴ウィンドウの長さ調整(デフォルトは5件)
- (任意)ワークフローを有効化してチャットを公開利用可能にする