N2SQL Pro

Other

Convert natural language queries into SQL for CSV/Excel files, generate charts, and export results with offline AI-powered SQL execution.

Install

openclaw skills install nl2sql-pro

NL2SQL Skill

自然语言转 SQL(Natural Language to SQL) - 用自然语言提问,AI 自动生成并执行 SQL,返回可读结果。

功能描述

NL2SQL 是一个将自然语言查询转换为 SQL 的工具,支持 CSV/Excel 文件上传、图表生成、结果导出。

核心能力

  • 📤 多格式支持:CSV、Excel 文件上传
  • 🌍 双语支持:中文/英文自然语言查询
  • 🤖 AI 驱动:GPT-4 智能 SQL 生成
  • 📊 可视化:柱状图、折线图、饼图一键生成
  • 🔒 安全设计:完全离线,不连接真实数据库

适用场景

  1. 数据分析师快速查询数据
  2. 非技术人员自助取数
  3. 快速验证数据假设
  4. 生成数据报告

使用方式

命令行

# 基本查询
python -m scripts.main "哪个产品的销量最高?" -f data/sales.csv

# 生成图表
python -m scripts.main "每月销售额趋势" -f data/sales.csv --chart line

# 导出结果
python -m scripts.main "查看前10名客户" -f data/customers.csv --format csv -o result.csv

Python API

from scripts import NL2SQLService, QueryRequest

service = NL2SQLService(api_key="your-api-key")

request = QueryRequest(
    question="哪个产品的销量最高?",
    files=["data/sales.csv"],
    chart_type="bar",
    explain=True
)

response = service.query(request)

if response.success:
    print(f"SQL: {response.sql}")
    print(f"结果: {response.data}")

参数说明

QueryRequest

参数类型必填说明
questionstr自然语言问题
filesList[str]文件路径列表
chart_typestr图表类型:bar/line/pie/scatter/area/histogram
explainbool是否解释 SQL
output_formatstr输出格式:markdown/json/csv

QueryResponse

字段类型说明
successbool是否成功
sqlstr生成的 SQL
explanationstrSQL 解释
row_countint结果行数
columnsList[str]列名列表
dataList[dict]结果数据
chart_base64str图表 base64
errorstr错误信息

套餐说明

套餐月费查询次数数据库连接图表导出
FREE免费10次/月1个基础CSV
BSC¥29500次/月5个基础CSV
Pro¥993000次/月20个高级Excel/PDF
Max¥299无限次无限全部全部

技术栈

  • 解析: pandas, openpyxl
  • AI: OpenAI GPT-4
  • 图表: matplotlib
  • 执行: pandasql (SQL on DataFrame)

注意事项

  1. API Key 格式:SQL-FREE / SQL-BSC / SQL-STD / SQL-PRO / SQL-ENT 开头
  2. Token 验证 API:POST https://geo-api.yk-global.com/validate
  3. 响应字段是 valid(不是 success
  4. 网络错误时自动降级到 FREE tier

ClawHub Slug

nl2sql-pro