当DeepSeek开始盛行,提供强大的大语言模型,界面调用不能满足我们的需要,同时提供API接口供我们在服务中调用,来实现各种AI场景。

我们通过将DeepSeek的AI能力与SpringBoot AI相结合,实现智能聊天、问答机器人,智能图片、视频生成、语音转文本,文本转语音等功能。

下面开始我们的教程。创建一个SpringBoot项目,集成AI模型。

1. 创建项目

在这里插入图片描述

2. 选择web、OpenAI配置

在这里插入图片描述

3. Maven pom配置

创建好项目会自动生成。

	<properties>
        <java.version>17</java.version>
        <spring-ai.version>1.0.0-M6</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-openai-spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

4. 项目yml配置

server:
  servlet:
    context-path: /deepseek

spring:
  ai:
    openai:
      api-key: <这里要输入你自己的API Key>
      base-url: https://api.siliconflow.cn
      chat:
        options:
          model: deepseek-ai/DeepSeek-V3
  1. api-key:AI平台生成,用于API调用
  2. base-url: AI平台地址
  3. model: AI模型

5. 生成api-key

这里我们选用 硅基流动。

  1. 注册
    作为集合顶尖大模型的一站式云服务平台,SiliconCloud 致力于为开发者提供更快、更全面、体验更丝滑的模型 API。
    在这里插入图片描述

注册登录地址:https://cloud.siliconflow.cn/i/8n3HTfnD

现在登录会赠送14元额度,即2000万Token, 方便大家测试使用。

  1. 生成Api-key
    在这里插入图片描述
    将生成好的 API 密钥放入项目yml配置中

  2. 选择模型
    在这里插入图片描述
    在这里插入图片描述
    我们选择deepseek-ai/DeepSeek-R1(思考推理)、deepseek-ai/DeepSeek-V3这两款模型。
    将模型model复制进yml配置。

6. 完成程序调用代码

package com.example.deepseek.controller;

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class AiController {

    private final ChatClient chatClient;

    public AiController(ChatClient.Builder builder) {
        // 给模型system一个角色,便于生成更准确的回答
        this.chatClient = builder.
                defaultSystem("你是一个IT方向技术精湛的专家,我经常会想你提问一些技术问题,你总是能给我详细的答案。").
                build();
    }

    @GetMapping("/chat/{prompt}")
    public String chat(@PathVariable("prompt") String prompt) {
        return chatClient.prompt()
                // 提问语
                .user(prompt)
                .call()
                .content();
    }
}

7. 测试

启动项目

测试地址:http://localhost:8080/deepseek/chat/分布式事务的解决方案

在这里插入图片描述
大家也可以在此基础上,实现一些更智能化的功能。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐