首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在GiteeAI上免费体验满血版本的DeepSeek结合NL2Sql效果如何?

在GiteeAI上免费体验满血版本的DeepSeek结合NL2Sql效果如何?

原创
作者头像
HELLO程序员
修改2025-10-14 21:33:45
修改2025-10-14 21:33:45
7600
代码可运行
举报
运行总次数:0
代码可运行

之前我们开源了SuperSQL,我们经过最多的测试的大模型版本是Azure 的GPT-4o版本。当DeepSeek大火后,我们也尝试了利用本地部署的方式利用deepseek作为SuperSQL的基座,来构建RAG生成SQL。但是效果其实很不理想。因为我们的资源有限,本地部署的方式只能跑7B,14B以及32B。然而nl2sql对于大模型的能力和embedding有一定的要求的。所以如果生成sql的效果不理想不妨试着换个模型试试!

今天我们来看看,通过Gitee AI来免费体验一下DeepSeek的满血版本。再来结合我们的SuperSQL看看效果如何。

开干!!!!

准备大模型

登录Gitee AI:https://ai.gitee.com/serverless-api

选择DeepSeek满血版

点击详情,我们看到目前GiteeAI上可以每天白嫖一百次,那来吧,咔咔一顿梭哈

生成API KEY

新建访问令牌,复制保存好key,我们就可以调用啦!!

好啦,万事俱备只欠东风,上代码!!!!

下载代码

代码语言:javascript
代码运行次数:0
运行
复制
git clone https://gitee.com/guocjsh/supersql-open.git
git clone https://github.com/guocjsh/SuperSQL

进入super-sql-console工程进行配置

配置deepseek大模型基座

目前市面上的大模型都遵循open ai的规则,所以集成deepseek我们只需要选择spring ai下的open ai的包就可以了。

代码语言:javascript
代码运行次数:0
运行
复制
<dependency>
  <groupId>org.springframework.ai</groupId>
  <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>

配置配置文件

代码语言:javascript
代码运行次数:0
运行
复制
spring:
  ai:
    openai:
      base-url: https://ai.gitee.com
      api-key: #填在Gitee AI上生成的API KEY
      chat:
        options:
          model: DeepSeek-R1
      embedding:
        enabled: false

向量数据库配置,我们还是选择最简单的chromadb

启动本地chroma

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

代码语言:javascript
代码运行次数:0
运行
复制
spring:
  ai:      
    ollama:
          base-url: http://localhost:11434
          chat:
            enabled: false
          embedding:
            enabled: true
            options:
              model: bge-m3
          init:
            pull-model-strategy: never
            embedding:
              additional-models:
                - bge-m3

开始写业务代码!!

代码语言:javascript
代码运行次数:0
运行
复制
@Slf4j
@RestController
@RequestMapping("super")
@AllArgsConstructor
public class SuperChatController {

    private final OpenAiChatModel chatModel;

    private final SpringSqlEngine sqlEngine;


    @PostMapping("/chat")
    public ResponseBodyEmitter chat(@RequestBody ChatBO chatBO, HttpServletResponse servletResponse) {
        ResponseBodyEmitter emitter = new ResponseBodyEmitter();
        servletResponse.setContentType(MediaType.TEXT_EVENT_STREAM_VALUE);
        String sql = sqlEngine.setChatModel(chatModel).generateSql(chatBO.getQuestion());
        Object object = sqlEngine.executeSql(sql);
        Flux<ChatResponse> stream = sqlEngine.generateSummary(chatBO.getQuestion(), object.toString());
        stream.publishOn(Schedulers.boundedElastic())
                .doOnError(emitter::completeWithError)
                .doOnComplete(emitter::complete)
                .subscribe(data -> {
                    String text = data.getResult().getOutput().getText();
                    try {
                        if(StrUtil.isNotEmpty(text)){
                            emitter.send(text );
                        }
                    } catch (Exception e) {
                        emitter.completeWithError(e);
                    }
                });
        return emitter;
    }
 }

配置文件配置初始化灌库

代码语言:txt
复制
super-sql:  
  init-train: true

启动SuperSQL控制台项目

启动Super-Sql控制台的Spring Boot项目:

导入Super-Sql UI项目到VSCode:

代码语言:txt
复制
npm install
npm run dev

访问:http://localhost:5173/chat

复杂场景下的sql生成

可以在向量数据库下添加复杂sql的场景。

下一次他就会举一反三,生成你想要的sql和效果

好啦,我们测试下来,满血版本的deepseek也是能够满足我们SuperSQL的模型要求的!!不愧是国产之光!!!

更新迭代计划

我们接下来会规划在生成sql执行后的基础上生成图表,我们也欢迎大家帮我们提更多的需求

社区支持与未来发展

我们鼓励所有用户访问 SuperSql官方文档 来获取更多信息和支持。此外,我们的代码托管在 Gitee,欢迎提出建议和贡献代码!

未来,我们将继续致力于SuperSQL的发展和完善,不断引入新的功能和技术,帮助更多开发者轻松应对复杂的数据库查询挑战。


让我们一起开启数据库查询的新时代吧!立即尝试SuperSQL,体验前所未有的便捷与高效。

关注我们的公众号,获取更多关于Super Sql和其他前沿技术的第一手资讯!

参考文档

Spring-Ai的官方文档:https://docs.spring.io/spring-ai/docs/getting-started

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 启动SuperSQL控制台项目
  • 社区支持与未来发展
  • 参考文档
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档