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
: 在这两项中至少填入一个你的API密钥。- 数据库连接信息: 根据你要连接的数据库类型(如PostgreSQL、MySQL或SQLite),填写主机、端口、用户名、密码和数据库名等信息。
- 启动命令行工具
所有配置完成后,进入到packages/cli
目录下,运行cli.py
脚本来启动程序。cd packages/cli python cli.py
启动成功后,你将看到
DbRheo>
的提示符,表示现在可以开始输入指令了。
使用方法
DbRheo-CLI的主要操作方式是在其交互式命令行中输入自然语言指令或特定命令。
- ヘルプを見る:
如果你不清楚有哪些可用的命令,可以输入/help
来获取帮助信息。 - 言語モデルの選択:
如果你同时配置了多个API密钥,可以使用/model
命令来选择当前对话要使用的大语言模型。
基本用法示例
- 查询表结构
你可以用自然语言询问数据库中某个表的结构。DbRheo> 告诉我users表的结构是什么 ``` 工具会返回该表的字段、数据类型等详细信息。
- クエリーデータ
你可以用自然语言让工具查询数据,比如查询最新的10个用户。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。