当前位置: 首页 > news >正文

SpringBoot使用DeepSeek APi

1.环境配置

环境:

JDK:17.0.13

spring-boot:3.4.2

依赖:

遇到了坑,最后解决是使用该版本,可以正常从库中获取:

        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
            <version>1.0.0-M5</version>
        </dependency>

测试了版本1.1.0和1.0.4在阿里云maven仓库中也是有的,但是报错找不到,错误如下:

Could not find artifact org.springframework.ai:spring-ai-bom:pom:1.1.0 in aliyun-public (https://maven.aliyun.com/repository/public)

搜索后查找大致原因或许是和仓库中未正式发布有关,

Spring—AI的Issues中有类似问题,解决是要加入另一个spring的存储库地址,依赖如下:

  <repositories>
    <repository>
      <id>spring-milestones</id>
      <name>Spring Milestones</name>
      <url>https://repo.spring.io/milestone</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>spring-snapshots</id>
      <name>Spring Snapshots</name>
      <url>https://repo.spring.io/snapshot</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
  </repositories>

但是尝试之后还是不行,问题链接放这里,可以研究一下顺便评论帮我解释一下这个问题

https://github.com/spring-projects/spring-ai/issues/362

配置文件

spring:
  ai:
    openai:
      base-url: https://api.deepseek.com
      api-key: sk-your-deepseek-key-here
      chat.options:
        model: deepseek-chat  # 指定DeepSeek的模型名称
        #通过指定 model='deepseek-chat' 即可调用 DeepSeek-V3
        #通过指定 model='deepseek-reasoner',即可调用 DeepSeek-R1
        temperature: 1.3

deepseek官方key获取连接:DeepSeek

官方api文档:DeepSeek API 文档

2.接口定义

import lombok.extern.slf4j.Slf4j;
import org.springframework.ai.openai.OpenAiChatModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

@RestController
@RequestMapping("/ai")
@Slf4j
public class ChatController {
    private OpenAiChatModel openAiChatModel;

    @Autowired
    public ChatController(OpenAiChatModel openAiChatModel) {
        this.openAiChatModel = openAiChatModel;
    }

    /**
     * 生成
     *
     * @param message 输入信息
     * @return 输出信息
     */
    @GetMapping("/generate")
    public Map generate(@RequestParam(value = "message") String message) {
        System.out.println(message);
        return Map.of("generation", this.openAiChatModel.call(message));
    }
}

Temperature 设置

错误码供参考

更多Spring-AI相关使用可以参考:AI - 人工智能;Java之SpringAI(二)_java spring ai-CSDN博客

相关文章:

  • 点云深度学习系列:PVRCNN——point-voxel融合的分割模型
  • HashiCorp Vault (凭据管理系统)和 PAM(特权访问管理系统)的应用场景对比
  • Linux 进程的一生(一):进程与线程的创建机制解析
  • Python 网络编程实战:5分钟实现多线程下载工具与 Web 服务器
  • Android SharedPreference 详解
  • 深入理解Linux进程管理:从基础到高级操作指南
  • GPU算力哪家好?GpuGeek推出高性能GPU云服务
  • 泛型、泛型上限、泛型下限、泛型通配符
  • java虚拟机(JVM)以及各种参数详解
  • 力扣-哈希表-844 比较含退格的字符串
  • 理解C语言中的extern关键字
  • 【机器人-基础知识】欧拉角、旋转矩阵和四元数
  • python爬虫碰到IP被封的情况,如何解决?
  • 【Rust并发编程深度解析:内存模型与异步运行时实现原理】
  • JavaScript API与WebRTC技术解析:EasyRTC嵌入式视频通话SDK的实现
  • vue3:密码加密解密实现
  • pdf合并工具
  • OpenGL(4)着色器
  • LearnOpenGL-笔记-其三
  • 文件跨国传输如何加速?UDP改造机制解析
  • 中国人保不再设监事会,国寿集团未再设置监事长职务
  • 秦洪看盘|上市公司业绩“排雷”近尾声,A股下行压力趋缓
  • 一位排球青训教练的20年时光:努力提高女排球员成才率
  • 湖南华容县通报“大垱湖水质受污染”,爆料者:现场已在灌清水
  • 君亭酒店:2024年营业收入约6.76亿元, “酒店行业传统增长模式面临巨大挑战”
  • 遭遇大规模停电,西班牙内政部宣布进入国家紧急状态