Skip to content

快速开始

欢迎来到 SuperSQL!本指南将帮助你快速上手 SuperSQL,开始使用自然语言生成 SQL 查询。

什么是 SuperSQL?

SuperSQL 是一个基于国内外先进生成式大模型实现 NL2SQL 的 Java 框架,专注于将数据库表结构通过检索增强生成(RAG)技术进行训练,从而实现从自然语言文本到 SQL 查询的智能转换。

环境要求

在开始使用 SuperSQL 之前,请确保你的开发环境满足以下要求:

  • Java: JDK 21 或更高版本
  • Spring Boot: 3.4.4 或更高版本
  • Maven: 3.6+ 或 Gradle 7+
  • 数据库: MySQL 8.0+ 或其他支持的数据库
  • 大模型 API: Azure OpenAI、Ollama 或其他兼容的模型

第一步:添加依赖

在你的 Spring Boot 项目的 pom.xml 中添加 SuperSQL 依赖:

xml
<dependency>
    <groupId>com.aispace.supersql</groupId>
    <artifactId>super-sql-spring-boot-starter</artifactId>
    <version>1.0.0-M1</version>
</dependency>

第二步:配置文件

application.yml 中添加基础配置:

yaml
super-sql:
  init-train: false

配置说明:

  • init-train: 是否在启动时自动训练数据库表结构,默认为 false

第三步:配置大模型

Azure OpenAI

添加依赖:

xml
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-model-azure-openai</artifactId>
</dependency>

配置:

yaml
spring:
  ai:
    azure:
      openai:
        api-key: your-api-key
        chat:
          options:
            deployment-name: gpt-4o-latest
        endpoint: https://your-resource-name.openai.azure.com/
        embedding:
          options:
            deployment-name: embedding-ada-002

Ollama

添加依赖:

xml
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-model-ollama</artifactId>
</dependency>

配置:

yaml
spring:
  ai:
    ollama:
      base-url: http://localhost:11434
      chat:
        options:
          model: deepseek-r1:32b
          temperature: 0.7
      embedding:
        options:
          model: mxbai-embed-large

第四步:配置向量数据库

Chroma

添加依赖:

xml
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-vector-store-chroma</artifactId>
</dependency>

启动 Chroma:

bash
docker run -it --rm --name chroma -p 8000:8000 ghcr.io/chroma-core/chroma:1.0.0

第五步:编写第一个示例

创建一个 Controller 来使用 SuperSQL:

java
@RestController
@RequestMapping("/api")
public class SuperSqlController {

    private final SpringSqlEngine sqlEngine;
    private final ChatModel chatModel;

    public SuperSqlController(SpringSqlEngine sqlEngine, ChatModel chatModel) {
        this.sqlEngine = sqlEngine;
        this.chatModel = chatModel;
    }

    @GetMapping("/query")
    public Object query(@RequestParam String question) {
        String sql = sqlEngine.setChatModel(chatModel)
                .generateSql(question);
        Object result = sqlEngine.executeSql(sql);
        return result;
    }
}

第六步:测试

启动你的 Spring Boot 应用,然后访问:

http://localhost:8080/api/query?question=查询所有用户

你应该能看到生成的 SQL 查询和查询结果。

下一步

恭喜!你已经成功创建了第一个 SuperSQL 应用。接下来你可以:

获取帮助

如果你在使用过程中遇到任何问题,可以:

最近更新

基于 Apache 2.0 许可证发布