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

【SpringBoot AI 集成DeepSeek 大模型API调用】

当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/分布式事务的解决方案

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


http://www.kler.cn/a/561070.html

相关文章:

  • 算法题(76):跳跃游戏II
  • 【Bug经验分享】Postgresql 项目链接不上,JDBC及Datasource可以连接,Navicat也可连接
  • JS宏进阶:数据分析之线性回归
  • 【Jenkins】显示 HTML 标签
  • 什么是事务?并发事务引发的问题?什么是MVCC?
  • 如何使用Spring Boot实现商品的管理系统
  • 嵌入式Modbus协议面试题及参考答案
  • Shell脚本基础:用Bash自动化任务
  • 【行业解决方案篇五】【DeepSeek智慧城市:交通流量预测系统】
  • 软考——WWW与HTTP
  • akka现有的分布式定时任务框架总结
  • leetcode 1656. 设计有序流 简单
  • Nginx解决前端跨域问题
  • LD_PRELOAD 绕过 disable_function 学习
  • JavaWeb-在idea中配置Servlet项目
  • 为什么要将PDF转换为CSV?CSV是Excel吗?
  • HTML+JS+CSS 鼠标上下移动页面(非滚动条)
  • 异步联邦学习的动态隐私保护框架:重构边缘智能的数据安全边界
  • C#中开发OCR应用时,以下是一些推荐的开源库和工具
  • Android 老项目 jcenter 库失效