本文主要是介绍Spring AI集成DeepSeek的详细步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe...
DeepSeek 介绍
DeepSeek 是国内顶尖 AI 团队「深度求索」开发的多模态大模型,具备数学推理、代码生成等深度能力,堪称"AI界的六边形战士"。DeepSeek 最新版本 R1 采用了“思维链”技术,能够展示完整的推理过程,使其在复杂推理任务上表现出色,甚至在某些方面可以与 OpenAI 的 O1 模型相媲美。
DeepSeek 身上的标签有很多,其中最具代表性的标签有以下两个:
- 低成本(不挑硬件、开源、使用简单无需复杂提示词)。
- 高性能(推理能力极强、回答准确)。
Spring AI 是什么?
Spring AI 从著名的 python 项目(如 LangChain 和 LlamaIndex)中汲取灵感,解决了 AI 集成中的核心挑战:将企业数据和 API 与 AI 模型连接起来。
你可以将 Spring AI 看作是一个适配器或者高层封装,用来帮你更方便地集成和使用不同的 AI 模型。它的核心目标是简化开发流程,降低使用多种 AI 服务时的复杂性,同时提升代码的可维护性和灵活性。
Spring AI 的主要功能包括
统一 API:Spring AI 提供了一套统一的接口,用来调用不同的 AI 模型(例如 OpenAI、Hugging Face、DeepSeek、Gemini 等)。开发者只需要学习 Spring AI 的 API,就能无缝对接各种 AI 服务,而无需深入了解各家服务的底层实现和差异。
简化配置:Spring AI 提供了自动化的配置管理,例如 API 密钥、模型参数等。你只需要简单地在配置文件中定China编程义所需的参数,Sjspring AI 就会自动完成初始化和连接,避免繁琐的手动配置。
易于切换:Spring AI 的抽象设计使得更换 AI 提供商变得非常简单。开发者只需要修改少量配置,而不用修改业务代码,从而实现灵活的 AI 服务切换,适应不同场景需求。
1、环境准备
在开始集成之前,确保你的开发环境满足以下要求:
JDK17 或更高版本 高版本才能使用SpringAI,才能调用deepseek; DeepSeekAPIKey(可通过官网注册获取),申请地址:https://platform.deepseek.com/usage
使用Spring Initializr 或其他工具创建-一个新的SpringBoot项目,确保版本为3.2.x或更高。
2、构建项目
2.1、pom依赖
在项目的pom.XML文件中添加SpringAI和DeepSeek的相关依赖。
以下是基于Maven的依赖配置示例:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.4.2</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.tyron</groupId> <artifactId>Spring-AI</artifactId> <version>0.0.1-SNAPSHOT</version> <name>Spring-AI</name> <description>Spring-AI</description> <url/> <properties> <Java.version>21</java.version> <spring-ai.version>1.0.0-M5</spring-ai.version> <China编程;/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.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </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>${spring-ai.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </path> </annotationProcessorPaths> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project>
2.2、配置文件
#必填项 spring.ai.openai.api-key=your-api-key spring.ai.openai.base-url=https://api.deepseek.com #模型选择(示例使用对话模型) spring.ai.openai.chat.options.model=deepseek-chat
2.3、接口定义
@RestController() @RequestMapping("/ai") public class ChatController { private OpenAiChatModel openAiChatModel; @Autowired public ChatController(OpenAiChatModel openAiChatModel) { this.openAiChatModel = oEJedhqqQIpenAiChatModel; } /** * 生成 * * @param message 输入信息 * @return 输出信息 */ @GetMapping("/generate") public Map generate(@RequestParam(value = "message", defaultValwww.chinasem.cnue = "你是谁?") String message) { return Map.of("generation", this.openAiChatModel.call(message)); } }
3、方法调用
接口报错
充值后,方可调用
总结
本文中使用 spring-ai-openai starter
,只要在请求头里加个api_key
,就能假装自己在调 OpenAI。Spring AI 的 openai starter 本质上是通过 RestTemplate 发请求,访问 DeepSeek API。
除此之外还可以通过本地化部署的方式进行调用,Spring Cloud Alibaba AI 中也支持这种方式,并且官网上提供了详细的方法:https://java2ai.com/blog/spring-ai-alibaba-ollama-deepseek/ 。
大模型的响应速度是很慢的,为了提升用户体验,流式输出便很有必要了,后续文章会进行样例说明。
以上就是Spring AI集成DeepSeek的详细步骤的详细内容,更多关于Spring AI集成DeepSeek的资料请关注编程China编程(www.chinasem.cn)其它相关文章!
这篇关于Spring AI集成DeepSeek的详细步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!