Skip to content

常见问题

本节收集了 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: 有两种训练方式:

  1. 自动训练:在配置文件中设置 init-train: true
  2. 手动训练:使用 TrainBuilder 训练 DDL 或 SQL 示例
java
sqlEngine.train(TrainBuilder.builder()
        .content(ddl)
        .policy(TrainPolicyType.DDL)
        .build());

Q: 生成的 SQL 不准确怎么办?

A: 可以尝试以下方法:

  1. 增加训练数据
  2. 调整 RAG 参数(增加 topN
  3. 启用 ReRank 重排序
  4. 调整温度参数
  5. 提供更明确的自然语言描述

Q: 如何提高查询性能?

A: 性能优化建议:

  1. 使用缓存
  2. 启用连接池
  3. 优化数据库索引
  4. 调整 JVM 参数
  5. 使用异步查询

错误处理

Q: 遇到 "模型未找到" 错误

A: 检查以下内容:

  1. 模型是否已部署
  2. 配置中的模型名称是否正确
  3. API 密钥是否有效
  4. 网络连接是否正常

Q: 遇到 "连接超时" 错误

A: 解决方案:

  1. 检查网络连接
  2. 增加超时时间
  3. 检查防火墙设置
  4. 使用代理或镜像源

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: 优化建议:

  1. 检查数据库性能
  2. 优化向量数据库索引
  3. 调整 RAG 参数
  4. 使用更快的模型
  5. 增加缓存

Q: 内存占用过高怎么办?

A: 解决方案:

  1. 调整 JVM 内存参数
  2. 优化连接池配置
  3. 使用更小的模型
  4. 启用对象池

其他问题

Q: 如何贡献代码?

A: 参考 贡献指南 了解贡献流程。

Q: 如何报告 Bug?

A: 在 GitHubGitee 上提交 Issue。

Q: 如何获取帮助?

A: 可以通过以下方式获取帮助:

  1. 查看文档
  2. 提交 Issue
  3. 加入社区讨论
  4. 联系维护者

获取更多帮助

如果以上问题没有解决你的问题,可以:

  1. 查看 完整文档
  2. 提交 GitHub Issue
  3. 加入 社区讨论
  4. 查看 更新日志
最近更新

基于 Apache 2.0 许可证发布