Streamlit を使って ClickHouse をバックエンドにした AI エージェントを構築する方法
このガイドでは、Streamlit を使用して、ClickHouse の SQL playground に対して ClickHouse MCP Server と Agno を通じて対話できる、Web ベースの AI エージェントを構築する方法を説明します。
サンプルアプリケーション
この例では、ClickHouse のデータにクエリを実行するためのチャットインターフェースを提供する、完成した Web アプリケーションを作成します。 このサンプルのソースコードは、examples リポジトリで確認できます。
前提条件
- システムにPythonがインストールされている必要があります。
uvがインストールされている必要があります - AnthropicのAPIキー、または他のLLMプロバイダーのAPIキーが必要です
以下の手順でStreamlitアプリケーションを作成します。
ユーティリティファイルを作成
2つのユーティリティ関数を含む utils.py ファイルを作成します。1つ目は、
Agno エージェントからのストリーミングレスポンスを処理するための
非同期ジェネレーター関数です。2つ目は、Streamlit
アプリケーションにスタイルを適用するための関数です。
認証情報のセットアップ
Anthropic の API キーを環境変数として設定してください。
別の LLM プロバイダーを使用する場合
Anthropic の API キーを持っておらず、別の LLM プロバイダーを使用したい場合は、 資格情報の設定手順については Agno「Integrations」ドキュメント を参照してください。
アプリケーションの実行
ClickHouse AIエージェントWebアプリケーションを起動するには、ターミナルから以下のコマンドを実行します。
これによりWebブラウザが開き、http://localhost:8501に移動します。ここでAIエージェントと対話し、ClickHouseのSQLプレイグラウンドで利用可能なサンプルデータセットについて質問できます。