常见问题
本节收集了 SuperSQL 使用过程中的常见问题和解决方案。
安装和配置
Q: 如何安装 SuperSQL?
A: 在 pom.xml 中添加依赖:
xml
<dependency>
<groupId>com.aispace.supersql</groupId>
<artifactId>super-sql-spring-boot-starter</artifactId>
<version>1.0.0-M1</version>
</dependency>Q: 支持哪些数据库?
A: SuperSQL 支持以下数据库:
- MySQL 8.0+
- PostgreSQL 12+
- Oracle 19c+
- SQL Server 2019+
- H2 2.0+
Q: 如何配置大模型?
A: SuperSQL 支持多种大模型,包括:
- Azure OpenAI
- Ollama
- 通义千问
- DeepSeek
- 智谱 AI
详细配置请参考 模型配置。
使用问题
Q: 如何训练数据库?
A: 有两种训练方式:
- 自动训练:在配置文件中设置
init-train: true - 手动训练:使用
TrainBuilder训练 DDL 或 SQL 示例
java
sqlEngine.train(TrainBuilder.builder()
.content(ddl)
.policy(TrainPolicyType.DDL)
.build());Q: 生成的 SQL 不准确怎么办?
A: 可以尝试以下方法:
- 增加训练数据
- 调整 RAG 参数(增加
topN) - 启用 ReRank 重排序
- 调整温度参数
- 提供更明确的自然语言描述
Q: 如何提高查询性能?
A: 性能优化建议:
- 使用缓存
- 启用连接池
- 优化数据库索引
- 调整 JVM 参数
- 使用异步查询
错误处理
Q: 遇到 "模型未找到" 错误
A: 检查以下内容:
- 模型是否已部署
- 配置中的模型名称是否正确
- API 密钥是否有效
- 网络连接是否正常
Q: 遇到 "连接超时" 错误
A: 解决方案:
- 检查网络连接
- 增加超时时间
- 检查防火墙设置
- 使用代理或镜像源
Q: 生成的 SQL 包含危险操作
A: 添加 SQL 验证:
java
if (sql.toLowerCase().contains("drop") ||
sql.toLowerCase().contains("delete")) {
throw new SecurityException("不允许执行危险操作");
}部署问题
Q: 如何部署到生产环境?
A: 参考 生产环境部署 了解详细部署步骤。
Q: 如何使用 Docker 部署?
A: 参考 Docker 部署 了解 Docker 部署配置。
Q: 如何配置 HTTPS?
A: 在 Nginx 或应用服务器中配置 SSL/TLS 证书,参考生产部署文档。
性能问题
Q: 查询响应慢怎么办?
A: 优化建议:
- 检查数据库性能
- 优化向量数据库索引
- 调整 RAG 参数
- 使用更快的模型
- 增加缓存
Q: 内存占用过高怎么办?
A: 解决方案:
- 调整 JVM 内存参数
- 优化连接池配置
- 使用更小的模型
- 启用对象池
其他问题
Q: 如何贡献代码?
A: 参考 贡献指南 了解贡献流程。
Q: 如何报告 Bug?
A: 在 GitHub 或 Gitee 上提交 Issue。
Q: 如何获取帮助?
A: 可以通过以下方式获取帮助:
- 查看文档
- 提交 Issue
- 加入社区讨论
- 联系维护者
获取更多帮助
如果以上问题没有解决你的问题,可以:
- 查看 完整文档
- 提交 GitHub Issue
- 加入 社区讨论
- 查看 更新日志
