DbRheo-CLIは、データベース操作とデータ分析のためのコマンドラインエージェントツールです。 ユーザーが自然言語でコマンドを入力すると、ツールが安全な SQL クエリに変換して実行します。 このツールはまた、データベースの構造を自動的に調査・分析し、危険な操作を事前に検出して警告するリスク評価システムを内蔵している。 データベースの直接操作に加え、DbRheo-CLI には Python 環境が統合されており、コマンドラインから直接 Python コードを記述して実行することで、データ分析、データ可視化、自動スクリプト作成が可能です。 クエリや分析の結果は、CSV、JSON、Excelなど様々な形式に簡単にエクスポートすることができます。 現在、PostgreSQL、MySQL、SQLiteなど、多くの主流データベースをサポートしています。
機能一覧
- 自然言語クエリ日常会話で直接データベースを操作する。
- インテリジェントSQL生成:: ユーザーの自然言語コマンドを最適化された安全なSQLクエリ文に自動的に変換します。
- データベース・アーキテクチャの探求データベースのテーブル構造に関する情報を動的に分析し、表示することができます。
- リスク評価システム: リスクの高いデータベース操作(データ削除など)を行う前に、事前テストを行い、ユーザーに警告を発します。
- Pythonコードの実行データ分析、チャート作成、自動化タスクの実行のためのツール内でのPythonコード実行をサポートします。
- データエクスポートクエリ結果をCSV、JSON、Excelファイルとして保存できます。
- マルチデータベース対応PostgreSQL、MySQL、SQLite、その他多くのデータベースと互換性があります。
- 非同期処理タスクの非同期実行により、実行時のパフォーマンスを向上。
- ストリーミング出力コマンド実行の過程と結果をリアルタイムに表示。
ヘルプの使用
以下は、コマンドラインツールであるDbRheo-CLIのインストールと使用方法の詳細です。
環境要件
インストールを開始する前に、お使いのコンピュータが以下の条件を満たしていることを確認してください:
- パイソンバージョン3.9以上が必要です。
- APIキー自然言語処理機能を動かすには、GoogleかOpenAIのAPIキーが必要です。
インストール手順
- クローン・コード・リポジトリ
まず、コンピュータのターミナル(コマンドラインインターフェイス)を開いてgit
コマンドはプロジェクトのコードをGitHubからローカルにクローンする。git clone https://github.com/Din829/DbRheo-CLI.git
次にプロジェクト・ディレクトリに移動する。
cd DbRheo-CLI
- 依存ライブラリのインストール
プロジェクトを実行するために必要なサードパーティのPythonライブラリがいくつかあります。requirements.txt
ファイルを使用してください。ファイルを使用する。pip
コマンドでインストールする。pip install -r requirements.txt
- 環境変数の設定
プロジェクトには.env.example
環境変数ファイルの例のこのファイルをコピーして、ファイル名を次のように変更してください。.env
そして、あなた自身の設定情報を記入する。cp .env.example .env
次に、テキストエディタで
.env
ファイルで以下の項目を見つけ、設定する:GOOGLE_API_KEY
もしかしたらOPENAI_API_KEY
この2つのフィールドのうち、少なくとも1つにAPIキーを入力してください。- データベース接続情報接続したいデータベースの種類(PostgreSQL、MySQL、SQLiteなど)に応じて、ホスト、ポート、ユーザー名、パスワード、データベース名を入力します。
- コマンドラインツールの起動
すべての設定が完了したらpackages/cli
ディレクトリでcli.py
スクリプトでプログラムを開始する。cd packages/cli python cli.py
起動に成功すると、次のように表示されます。
DbRheo>
プロンプトが表示され、コマンドの入力を開始できることを示す。
使用方法
DbRheo-CLIの主な操作モードは、対話型コマンドラインで自然言語命令や特定のコマンドを入力することです。
- ヘルプを見る:
どのようなコマンドが利用できるかわからない場合は、次のように入力します。/help
をクリックしてヘルプ情報を入手してください。 - 言語モデルの選択:
複数のAPIキーを同時に設定する場合は/model
コマンドを使用して、現在のダイアログで使用するグランド言語モデルを選択します。
基本的な使用例
- ルックアップテーブルの構造
自然言語を使ってデータベースのテーブルの構造を尋ねることができる。DbRheo> 告诉我users表的结构是什么 ``` 工具会返回该表的字段、数据类型等详细信息。
- クエリーデータ
自然言語を使用して、ツールにデータを照会させることができる。DbRheo> 帮我查询最新的10个用户
ツールは対応するSQL文を自動的に生成する。
SELECT * FROM users ORDER BY created_at DESC LIMIT 10;
を実行し、その結果を表示する。
データ分析例
コマンドラインから直接Pythonを呼び出して、データ分析やビジュアライゼーションを行うことができる。
例えば、売上データを分析してグラフを作成したい場合、次のように入力する:
DbRheo> 使用Python分析并可视化销售数据
を使用するPythonコードを生成して実行します。pandas
このライブラリーは、データベースから売上データを読み込んでmatplotlib
このライブラリは、毎月の売上動向を示す棒グラフを作成し、グラフを画像ファイルとして保存します。sales_analysis.png
.
高度なSQLクエリ
複雑なクエリー要件については、自然言語で直接記述することもできます。
例えば、月単位で注文の総額をカウントする必要がある:
DbRheo> 创建一个销售数据的月度汇总
このツールは、以下のようなSQL文を生成し、集約クエリーを完成させます。
SELECT
DATE_TRUNC('month', order_date) as month,
SUM(amount) as total_sales
FROM orders
GROUP BY month
ORDER BY month;
アプリケーションシナリオ
- クイックデータクエリー
SQLに詳しくないチームメンバー(プロダクトマネージャーやオペレーションスタッフなど)は、開発者のサポートを待つことなく、自然言語を使ってデータベースから必要なデータを直接取得することができる。 - データ分析と報告
データアナリストは、コマンドラインツールから直接、Pythonスクリプトと組み合わせた自然言語コマンドを使用して、リアルタイムでデータベースからデータを分析し、統計やビジュアルチャートを生成し、レポート作成のために結果をExcelまたはCSVファイルにエクスポートすることができます。 - データベース・アーキテクチャの探求
新しいデータベースに取り組む開発者は、重いデータベース管理ツールを使わなくても、「テーブルの構造を教えてください」「すべてのテーブルをリストアップしてください」といった自然言語コマンドによって、テーブルの設計やテーブル間の関係を素早く理解することができる。 - 安全なデータベース運用
データベース管理者がリスクの高い操作(データの更新や削除など)を行う場合、ツールのリスクアセスメント機能を使用することで、操作によって起こりうる影響を事前に把握し、誤用によるデータ損失を防ぐことができる。
品質保証
- このツールはどのような種類のデータベースをサポートしていますか?
現在は主にPostgreSQL、MySQL/MariaDB、SQLiteデータベースをサポートしている。同時に、プラグインアーキテクチャを採用しており、新しいアダプタを書くことで他の種類のデータベースをサポートするように拡張することができる。 - このツールを使うのにお金を払う必要がありますか?
ツール自体はオープンソースで、無料で使用できる。ただし、GoogleやOpenAIなどの企業が提供する大規模な言語モデリングAPIを呼び出す必要があり、これらのAPIサービスプロバイダーは利用量に応じて課金する。 - データベース接続情報とAPIキーは安全ですか?
データベース接続情報とAPIキーは、ローカルで.env
ファイルは、どのサーバーにもアップロードされないので安全です。ローカル環境の安全を確保する必要がある。 - ツールによって生成されたSQL文が、私の期待に沿わない場合はどうすればよいですか?
ツールはSQLを実行する前に、生成されたステートメントを表示します。ステートメントが正しいかどうかをチェックすることができます。結果が期待通りでない場合、正しいSQLを生成するようツールを誘導するため、より明確で具体的な別の自然言語命令を試すことができます。