Spring AI 结合DeepSeek使用教程

Spring AI 结合DeepSeek使用教程

一、环境搭建与项目初始化

  1. 创建Spring Boot项目

    • 使用IDEA或Spring Initializr创建项目,选择JDK 17或更高版本(推荐21)。
    • 勾选依赖项:Spring WebLombok,Maven或Gradle作为构建工具。
    • 添加Spring AI依赖(以DeepSeek为例):
    • deepseek 作为引入依赖
    xml 复制代码
    <properties>
        <java.version>17</java.version>
        <spring-ai.version>1.0.0</spring-ai.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-starter-model-deepseek</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-bom</artifactId>
                <version>1.0.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
  2. 配置API密钥

    application.yml中配置模型服务(以DeepSeek为例):

    yaml 复制代码
    server:
      port: 8080
    spring:
      ai:
        deepseek:
          api-key: sk-your-api-key
          base-url: https://api.deepseek.com/v1
          chat:
            options:
              model: deepseek-chat

二、基础功能实现

  1. 调用大模型生成文本
    • 通过chatModel发送请求:

      java 复制代码
         @RestController
         public class ChatController {
             private DeepSeekChatModel chatModel;
         
             @Autowired
             public ChatController(DeepSeekChatModel chatModel) {
                 this.chatModel = chatModel;
             }
         
         
             @GetMapping("/ai/generate")
             public Map generate(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {
                 return Map.of("generation", chatModel.call(message));
             }
         
             @GetMapping("/ai/generateStream")
             public Flux<ChatResponse> generateStream(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {
                 var prompt = new Prompt(new UserMessage(message));
                 return chatModel.stream(prompt);
             }
         
         }
    • 启动应用后,访问http://localhost:8080/ai/generate?message=写一首春天的诗即可获取响应。 响应结果如下:

🍚总结

大功告成,撒花致谢🎆🎇🌟,关注我不迷路,带你起飞带你富。 Writted By 知识浅谈

相关推荐
许彰午9 分钟前
# 政务表单动态建表?运行时DDL引擎,前端拖完字段后端直接建
java·前端·后端·架构·政务
宸津-代码粉碎机11 分钟前
Spring Boot 4.0 进阶实战+源码解析系列(持续更新)—— 从落地到源码,搞定面试与工作
java·人工智能·spring boot·后端·python·面试
XMYX-020 分钟前
07 - Go 函数(上):定义、参数、返回值与实战技巧
开发语言·后端·golang
一灯架构9 小时前
90%的人答错!一文带你彻底搞懂ArrayList
java·后端
mldong10 小时前
Python开发者狂喜!200+课时FastAPI全栈实战合集,10大模块持续更新中🔥
后端
GreenTea11 小时前
从 Claw-Code 看 AI 驱动的大型项目开发:2 人 + 10 个自治 Agent 如何产出 48K 行 Rust 代码
前端·人工智能·后端
Moment13 小时前
AI 全栈指南:NestJs 中的 Service Provider 和 Module
前端·后端·面试
IT_陈寒13 小时前
为什么我的JavaScript异步回调总是乱序执行?
前端·人工智能·后端
Moment13 小时前
AI全栈入门指南:NestJs 中的 DTO 和数据校验
前端·后端·面试
小村儿14 小时前
Harness Engineering:为什么你用 AI 越用越累?
前端·后端·ai编程