【springboot集成各类大模型】支持讯飞星火、通义千问、ChatGPT、和DeepSeek等

AI大模型SDK,支持多种大模型服务的统一接入,包括讯飞星火、通义千问、ChatGPT、和DeepSeek等。

GitHub地址:https://github.com/jeesoul/jeesoul-ai-model

xml 复制代码
<!--建议引入中央仓库地址-->
<repositories>
    <repository>
        <id>central</id>
        <url>https://repo.maven.apache.org/maven2/</url>
    </repository>
</repositories>

<dependencies>
<!--已发布到 maven 中央仓库 目前最新版: 1.0.3-->
<dependency>
    <groupId>com.jeesoul</groupId>
    <artifactId>jeesoul-ai-model</artifactId>
    <version>1.0.3</version>
</dependency>

<!--集成响应式编程-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
</dependencies>

功能特性

  • 支持多种大模型服务统一接入
  • 提供同步和流式两种对话模式
  • 支持参数透传和自定义配置
  • 统一的异常处理和日志记录
  • 支持系统提示词和思考模式
  • 基于Spring Boot的自动配置

模型支持

模型名称 枚举值
讯飞星火 spark
ChatGPT chatgpt
通义千问 qWen
DeepSeek deepSeek

在application.yml中添加配置:

yml 复制代码
ai:
  qwen:
    api-key: your-api-key
    endpoint: https://api.qwen.com/v1/chat/completions
  spark:
    api-key: your-api-key
    endpoint: https://api.spark.com/v1/chat/completions
  deep-seek:
    api-key: your-api-key
    endpoint: https://api.deepseek.com/v1/chat/completions

使用

同步对话

参数说明

ModelRequestVO

参数名 类型 是否必填 说明
modelName String 是 模型名称(qWen/chatgpt/spark/deepSeek)
model String 是 具体模型版本
systemPrompt String 否 系统提示词
prompt String 是 用户提示词
enableThinking boolean 否 是否开启思考模式 (支持QWen系列快、慢思考)
params Map<String,Object> 否 自定义参数

ModelResponseVO

参数名 类型 说明
result String 返回结果
thinking Boolean 思考过程(如果启用)
model String 模型名称
java 复制代码
public void chat() {
    // 非必填参数 创建请求对象(使用链式调用)
    Map<String, Object> params = new HashMap<>();
    params.put("temperature", 0.7);
    params.put("top_p", 0.9);
    params.put("max_tokens", 2000);
    
    ModelRequestVO request = new ModelRequestVO()
        .setModelName("qWen")  // 或 "spark", "deepSeek"
        .setModel("qwen-turbo")  // 具体模型版本
        .setPrompt("你好,请介绍一下自己")
        .setParams(params);
    
    // 获取服务实例并调用
    AiService aiService = FactoryModelService.create(request.getModelName());
    ModelResponseVO response = aiService.httpChat(request);
    System.out.println(response.getResult());
}

流式对话

java 复制代码
public void streamChat() {
    // 使用链式调用创建请求对象
    ModelRequestVO request = new ModelRequestVO()
        .setModelName("spark")
        .setModel("x1")
        .setPrompt("写一首诗");
    
    AiService aiService = FactoryModelService.create(request.getModelName());
    
    // 方式1:获取ModelResponseVO流
    Flux<ModelResponseVO> responseFlux = aiService.streamChat(request);
    responseFlux.subscribe(response -> {
        System.out.println(response.getResult());
        if (response.getThinking() != null) {
            System.out.println("思考过程:" + response.getThinking());
        }
    });
    
    // 方式2:获取原始文本流
    Flux<String> textFlux = aiService.streamChatStr(request);
    textFlux.subscribe(System.out::println);
}
相关推荐
程序猿乐锅3 分钟前
【黑马点评 | 第九篇】秒杀优化-异步实现
java·spring boot·redis·后端·spring·中间件·mybatis
闭包不眠4 分钟前
网站支持HEIC上传要多大解码器?gzip后510KB
图像处理·人工智能·计算机视觉
Wx-bishekaifayuan12 分钟前
springboot户外登山社交小程序19787-计算机课程设计、毕业设计
spring boot·后端·python·spring·elasticsearch·django·课程设计
+VX:Fegn089516 分钟前
计算机毕业设计|基于springboot + vue外卖点餐系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
Leo.yuan17 分钟前
从 DataX 到 Informatica,再到国产一体化平台:2026 年企业数据集成平台怎么选
人工智能
叠层归一研究院20 分钟前
区分预算与通道诱导:Ω–L叠层体系的观测赋值与定量验证
人工智能·算法
FYKJ_201022 分钟前
springboot刑事案件管理系统03047-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
知几蜗牛28 分钟前
AI权限写进JSON就安全了吗?真正缺的是配置生效验证
人工智能
知几蜗牛30 分钟前
大模型会规划,为什么人形机器人还站不稳?关键是双层控制
人工智能
爱签AI电子合同33 分钟前
电子合同上手成本怎么测?易用性维度专项测评
服务器·人工智能·智能合约·企业微信