Solon v3.9.3

skills - Text2SqlSkill 数据库自然语言查询

</> markdown
2026年2月2日 下午4:59:59

Text2SqlSkill 赋予了智能体(Agent)直接通过自然语言查询数据库的能力。它会自动提取表元数据(Schema),根据用户问题生成并执行 SQL,最后返回查询结果供 AI 总结。

1、应用示例

将数据库变成智能体的知识库,只需几行代码:

// 1. 实例化 Skill 并指定数据源与允许访问的表名(建议只配置必要的表)
Text2SqlSkill sqlSkill = new Text2SqlSkill(dataSource, "users", "orders", "order_refunds")
        .maxRows(20)         // 限制返回行数,防止大表扫描撑爆上下文
        .readOnly(true);     // 强制只读模式,拦截任何 DML/DDL 操作

// 2. 构建 ReAct 智能体(或者 ChatModel)
ReActAgent agent = ReActAgent.of(chatModel)
        .role("财务分析专家")
        .instruction("你负责分析订单与退款数据。金额单位均为元。")
        .defaultSkillAdd(sqlSkill)
        .build();

// 3. 提问:Agent 会经历 Reason -> Action (SQL) -> Observation (Data) -> Final Answer
String response = agent.prompt("张三一共支付了多少钱?").call();