构建器
本节介绍 SuperSQL 的构建器类,用于配置各种参数。
RagOptions
RagOptions 用于配置 RAG 检索的参数。
构建方法
java
public static RagOptionsBuilder builder()配置项
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
topN | Integer | 5 | 返回的 top N 条相关数据 |
rerank | Boolean | false | 是否启用重排序 |
limitScore | Double | 0.4 | 相似度分数阈值 |
使用示例
java
RagOptions options = RagOptions.builder()
.topN(10)
.rerank(true)
.limitScore(0.3)
.build();
String sql = sqlEngine.setChatModel(chatModel)
.setOptions(options)
.generateSql(question);TrainBuilder
TrainBuilder 用于配置训练参数。
构建方法
java
public static TrainBuilder builder()配置项
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
content | String | 是 | 训练内容(DDL 或 SQL) |
question | String | 否 | 对应的自然语言问题 |
policy | TrainPolicyType | 是 | 训练策略 |
使用示例
java
sqlEngine.train(TrainBuilder.builder()
.content(ddl)
.policy(TrainPolicyType.DDL)
.build());
sqlEngine.train(TrainBuilder.builder()
.content(sql)
.question("查询所有用户")
.policy(TrainPolicyType.SQL)
.build());SqlpromptBuilder
SqlpromptBuilder 用于自定义 SQL 生成 Prompt。
构建方法
java
public static SqlpromptBuilder builder()配置项
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
template | String | 是 | Prompt 模板 |
使用示例
java
String customPrompt = """
你是一个 SQL 专家。根据以下数据库表结构,生成准确的 SQL 查询。
表结构:
{table_schema}
用户问题:{question}
请只返回 SQL 查询语句,不要包含任何解释。
""";
String sql = sqlEngine.setChatModel(chatModel)
.setPrompt(SqlpromptBuilder.builder()
.template(customPrompt)
.build())
.generateSql(question);FollowupQuestionsBuilder
FollowupQuestionsBuilder 用于配置后续问题生成参数。
构建方法
java
public static FollowupQuestionsBuilder builder()配置项
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
maxQuestions | Integer | 3 | 最大问题数量 |
context | String | - | 上下文信息 |
使用示例
java
List<String> followupQuestions = sqlEngine.generateFollowupQuestions(
FollowupQuestionsBuilder.builder()
.maxQuestions(5)
.context("用户查询了订单信息")
.build()
);