快速开始
欢迎来到 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-002Ollama
添加依赖:
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 应用。接下来你可以:
获取帮助
如果你在使用过程中遇到任何问题,可以:
