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 Playground で利用可能なサンプルデータセットについて質問できます。