【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: /deepseekspring:ai:openai:api-key: <这里要输入你自己的API Key>base-url: https://api.siliconflow.cnchat: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.mzph.cn/diannao/70733.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 性能更好的ftp客户端 lftp 使用详解

简介 LFTP 是一个命令行 FTP 客户端&#xff0c;支持多种文件传输协议&#xff0c;包括 FTP、FTPS、HTTP、HTTPS和SFTP 。它以其通过镜像、后台操作和脚本支持等特性有效管理复杂传输的能力而闻名。 安装 Ubuntu/Debian sudo apt update sudo apt install lftpCentOS/RHEL/…

汽车智能制造企业数字化转型SAP解决方案总结

一、项目实施概述 项目阶段划分&#xff1a; 蓝图设计阶段主数据管理方案各模块蓝图设计方案下一阶段工作计划 关键里程碑&#xff1a; 2022年6月6日&#xff1a;项目启动会2022年12月1日&#xff1a;系统上线 二、总体目标 通过SAP实施&#xff0c;构建研产供销协同、业财一…

【深度学习】矩阵的理解与应用

一、矩阵基础知识 1. 什么是矩阵&#xff1f; 矩阵是一个数学概念&#xff0c;通常表示为一个二维数组&#xff0c;它由行和列组成&#xff0c;用于存储数值数据。矩阵是线性代数的基本工具之一&#xff0c;广泛应用于数学、物理学、工程学、计算机科学、机器学习和数据分析等…

<网络> UDP协议

目录 传输层 再谈端口号 端口号范围划分 认识知名端口号 两个问题 netstat与iostat pidof UDP协议 UDP协议格式 UDP数据封装&#xff1a; UDP数据分用&#xff1a; UDP协议的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协 传输层 在学习HTTP等应用层协议时&…

大模型面试基础问题

1.1.1 最主流的开源模型&#xff1f; ChatGLM-6B[1] prefix LM LLaMA-7B[2] causal LM 1.1.2 prefix LM和causal LM的区别&#xff1f; 1.1.2.1 Prefix LM Prefix LM&#xff0c;即前缀语言模型&#xff0c;该结构是Google的T5模型论文起的名字&#xff0c;望文知义来说&…

your HTTP request connection start duration too long

If your HTTP request connection start duration is taking more than 7 seconds, here are some possible causes and troubleshooting steps: Possible Causes: Network Latency – Slow internet or network congestion.DNS Resolution Delay – Slow DNS lookup affecti…

Python天梯赛系统备考-字符串篇

知识点拆解 1. 切片技巧 定义 通过 [start:end:step] 语法截取字符串的子序列 start&#xff1a;起始索引&#xff08;包含&#xff0c;默认0&#xff09; end&#xff1a;结束索引&#xff08;不包含&#xff0c;默认末尾&#xff09; step&#xff1a;步长&#xff0…

国标28181协议在智联视频超融合平台中的接入方法

一. 国标28181介绍 国标 28181 协议全称是《安全防范视频监控联网系统信息传输、交换、控制技术要求》&#xff0c;是国内视频行业最重要的国家标准&#xff0c;目前有三个版本&#xff1a; 2011 年&#xff1a;推出 GB/T 28181-2011 版本&#xff0c;为安防行业的前端设备、平…

深入探究 C 语言内存函数:memcpy、memmove、memset 和 memcmp

一&#xff0c;常见的内存函数 在 C 语言的编程世界里&#xff0c;对内存的高效操作至关重要。C 标准库为我们提供了一系列强大的内存操作函数&#xff0c;其中 memcpy、memmove、memset 和 memcmp 这四个函数是处理内存数据的得力助手。接下来&#xff0c;让我们深入了解它们…

Java 集合

Java 集合 在 Java 编程中&#xff0c;集合框架&#xff08;java.util 包&#xff09;是处理一组对象的强大工具。与数组不同&#xff0c;集合提供了更灵活的数据存储和操作方式。本文将详细介绍 Java 集合框架的核心接口、常用实现类及其应用场景&#xff0c;帮助你更好地理解…

go基本语法

跟Java比较学习。 hello word 示例代码 test1.go文件&#xff1a; // 包路径 package main// 导入模块&#xff0c;下面两种都行 import ("fmt" ) import "log"// main方法 func main() {log.Print("hello word !!!")fmt.Print("hello …

【Docker】如何在Linux、Windows、MacOS中安装Docker

Linux安装Docker 在终端中执行一键安装脚本命令安装docker sudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh | bash -s docker --mirror Aliyun1.1 配置docker镜像源 在终端执行 一行命令&#xff0c;编辑配置文件 sudo …

2.24力扣-回溯电话号码的字母组合

17. 电话号码的字母组合 - 力扣&#xff08;LeetCode&#xff09; class Solution {List<String> ans new LinkedList<>();StringBuilder temp new StringBuilder();public List<String> letterCombinations(String digits) {if(digitsnull || digits.leng…

Cocos Creator Shader入门实战(一):材质和Effect的了解

引擎版本&#xff1a;3.8.5 环境&#xff1a; Windows 简介 在Cocos Creator中&#xff0c;游戏炫彩缤纷的效果是借助着色器(Shader)来实现的。 Cocos主要基于OpenGL ES&#xff0c;而Shader的编写则是在可编程渲染管线中基于修改&#xff1a;顶点着色器(Vertex) 和 片段着色…

akka现有的分布式定时任务框架总结

根据你的需求&#xff0c;以下是一些基于 Akka 实现的分布式定时任务框架&#xff0c;以及相关的 GitHub 项目推荐&#xff1a; 1. Openjob Openjob 是一个基于 Akka 架构的新一代分布式任务调度框架&#xff0c;支持多种定时任务、延时任务、工作流设计&#xff0c;采用无中…

微信小程序地图map全方位解析

微信小程序地图map全方位解析 微信小程序的 <map> 组件是一个功能强大的工具&#xff0c;可以实现地图展示、定位、标注、路径规划等多种功能。以下是全方位解析微信小程序地图组件的知识点&#xff1a; 一、地图组件基础 1. 引入 <map> 组件 在页面的 .wxml 文…

Python的PyTorch+CNN深度学习技术在人脸识别项目中的应用

人脸识别技术是一种基于人脸特征进行身份识别的生物识别技术&#xff0c;其核心原理包括人脸检测、人脸对齐、特征提取、特征匹配、身份识别。 一、应用场景 安防&#xff1a;门禁、监控。 金融&#xff1a;刷脸支付、身份验证。 社交&#xff1a;自动标注、美颜。 医疗&am…

《数据库索引设计与优化》译本错误纠正(1)

今天在学习《数据库索引设计与优化》第十一章第198页的时候遇到一个问题&#xff0c;即参数的文字描述与实际不符。我看的是从网络上找到的译本&#xff0c;许多喜欢白嫖的朋友可能也会像我一样遇到这种问题。 可以看到&#xff0c;上面对参数Z的描述是&#xff1a;Z上一次索引…

API测试工具:Swagger vs Postman 2025最新全面对比

随着微服务架构的普及和云原生应用的激增&#xff0c;高效的 API 开发、测试和文档管理工具变得越来越重要。在众多 API 工具中&#xff0c;Swagger 和 Postman 各自以不同的方式解决着 API 开发生命周期中的关键问题&#xff0c;本文将从多个维度深入对比这两款工具&#xff0…

如何查询SQL Server数据库服务器的IP地址

如何查询SQL Server数据库服务器的IP地址 作为数据库管理员或开发人员&#xff0c;了解如何查询SQL Server数据库服务器的IP地址是一项重要技能。本文将介绍几种简单而有效的方法&#xff0c;帮助你轻松获取这一信息。无论你是新手还是经验丰富的专业人士&#xff0c;这些方法…