@oceanbase-odc/nl2sql-benchmark
v1.1.3
Published
这是一个用于测试和评估 SQL 执行性能的基准测试工具。 ## 安装
Readme
BIRD-SQL 基准测试工具
这是一个用于测试和评估 SQL 执行性能的基准测试工具。
安装
- 确保已安装 Node.js (推荐 v14 或更高版本)
- 安装 MySQL 8,执行初始化脚本
npm install @oceanbase-odc/nl2sql-benchmark -g --registry=https://registry.npmmirror.com使用方法
nl2sql-benchmark -a <API_URL> --dbHost <DB_HOST> --dbPort <DB_PORT> --dbUser <DB_USER> --dbPassword <DB_PASSWORD> [options]命令行参数
必需参数:
-a, --api <url>: SQL 执行 API 的 URL--dbHost <host>: 数据库主机地址--dbPort <port>: 数据库端口--dbUser <user>: 数据库用户名--dbPassword <password>: 数据库密码
可选参数:
-o, --output <path>: 输出结果文件路径 (默认: ./results)-c, --concurrency <number>: 并发请求数 (默认: 5)-t, --timeout <number>: 请求超时时间(ms) (默认: 30000)
API 格式说明
请求格式
benchmark 发送的请求体格式如下:
{
"question": "自然语言问题",
"db": {
"host": "数据库主机地址",
"port": "数据库端口",
"username": "数据库用户名",
"password": "数据库密码",
"dbName": "数据库名称"
}
}响应格式
成功响应:
{
"sql": "生成的 SQL 查询语句"
}错误响应(HTTP 状态码 500):
{
"error": "错误信息"
}示例
请求:
{
"question": "How many schools in Amador which the Low Grade is 9 and the High Grade is 12?",
"db": {
"host": "localhost",
"port": 3306,
"username": "root",
"password": "password",
"dbName": "schools"
}
}响应:
{
"sql": "SELECT COUNT(T1.`School Name`) FROM frpm AS T1 INNER JOIN schools AS T2 ON T1.CDSCode = T2.CDSCode WHERE T2.County = 'Amador' AND T1.`Low Grade` = 9 AND T1.`High Grade` = 12"
}