Skip to content

构建器 ​

本节介绍 SuperSQL 的构建器类,用于配置各种参数。

RagOptions ​

RagOptions 用于配置 RAG 检索的参数。

构建方法 ​

java
public static RagOptionsBuilder builder()

配置项 ​

参数类型默认值说明
topNInteger5返回的 top N 条相关数据
rerankBooleanfalse是否启用重排序
limitScoreDouble0.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()

配置项 ​

参数类型必需说明
contentString是训练内容(DDL 或 SQL)
questionString否对应的自然语言问题
policyTrainPolicyType是训练策略

使用示例 ​

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()

配置项 ​

参数类型必需说明
templateString是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()

配置项 ​

参数类型默认值说明
maxQuestionsInteger3最大问题数量
contextString-上下文信息

使用示例 ​

java
List<String> followupQuestions = sqlEngine.generateFollowupQuestions(
    FollowupQuestionsBuilder.builder()
            .maxQuestions(5)
            .context("用户查询了订单信息")
            .build()
);

下一步 ​

最近更新

基于 Apache 2.0 许可证发布