用途:把用户用自然语言提出的数据问题(如“显示上周注册的用户”“找出订单金额大于 100 的记录”“哪些产品库存低”)转换成 SQL 查询,并借助数据库 schema 完成映射与执行。
主要能力:先通过 whodb_tables(connection="...") 获取可用表,用 whodb_columns(table="relevant_table") 获取列名和类型;再解析请求中的主体、过滤条件、聚合、分组、排序与数量限制;然后匹配实体到表、属性到列并识别所需外键连接;最后按 SQL 最佳实践生成查询,并通过 whodb_query(query="generated SQL") 执行与呈现。资料还给出常见自然语言到 SQL 的映射模式,例如“last week/month/year”对应日期条件、“more than X”对应大于、“top N”对应 ORDER BY ... DESC LIMIT N、“how many”对应 COUNT(*)、“total/sum of”对应 SUM、“average”对应 AVG、“for each/by”对应 GROUP BY、“between X and Y”对应 BETWEEN、“contains/like”对应 LIKE、“starts with”对应 LIKE 前缀、“is empty/is null”对应 IS NULL、“is not empty”对应 IS NOT NULL。日期处理区分 PostgreSQL、MySQL 与 SQLite 的不同写法。
使用方式:在用户以自然语言提出数据问题时激活;生成前先检查表结构,再按意图生成并执行 SQL。资料给出的示例包括按注册时间筛选用户、按销量取前 5 产品(含 products 与 order_items 的连接和聚合)、按客户统计订单数。
限制与安全规则:探索性查询始终使用 LIMIT(默认 100);除非明确要求,不生成 DELETE、UPDATE 或 DROP;若查询可能返回大量结果应给出警告;JOIN 中使用表别名提升可读性。资料未提供安装命令、收费信息或具体平台支持范围。