如何通过Spring AI接入DeepSeek模型?
在开发应用时,接入AI模型往往是一项繁琐的工作,尤其是面对不同AI服务商的接口和配置差异,可能会让开发者头疼不已。
但是,Spring AI的出现给我们带来了一个简单、高效的解决方案,它为Java开发者提供了一个统一的框架,让接入各种AI服务变得轻松便捷。
本文将介绍如何使用Spring AI来集成国产的DeepSeek模型,不论是通过云端服务还是本地部署,都可以轻松实现。
为什么选择Spring AI?
Spring AI的最大亮点在于它为不同的AI模型提供了一个统一的接口。你不再需要为每个AI服务商的不同接口编写代码,只要通过Spring AI,你就能以相同的方式调用各种AI模型,包括OpenAI、Hugging Face,当然也包括DeepSeek等国内AI服务。
另外,Spring AI还简化了配置过程,你不再需要手动配置各种复杂的参数,所有的API密钥、模型设置等都可以通过Spring AI进行自动配置,大大减轻了开发者的负担。
方法一:通过OpenAI兼容模式接入DeepSeek
DeepSeek为开发者提供了OpenAI兼容模式,这意味着你可以像调用OpenAI一样调用DeepSeek,Spring AI也正好支持这一方式。通过这种方式,你只需要稍微修改配置,就能实现与DeepSeek的连接。
步骤1:添加依赖
首先,在你的项目中引入Spring AI的OpenAI Starter。你可以在pom.xml中添加以下依赖:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
<version>0.8.1</version>
</dependency>步骤2:配置DeepSeek的API
在application.yml文件中配置DeepSeek的OpenAI兼容端点和API密钥,类似于以下内容:
spring:
ai:
openai:
base-url:https://api.deepseek.com/v1
api-key:sk-your-deepseek-key-here
chat.options:
model:deepseek-chat步骤3:代码调用
接下来,我们可以编写一个简单的控制器,通过Spring AI调用DeepSeek模型生成响应:
@RestController
@RequestMapping("/ai")
publicclassChatController {
privatefinal ChatClient chatClient;
publicChatController(ChatClient.Builder chatClientBuilder) {
this.chatClient = chatClientBuilder.build();
}
@GetMapping("/chat")
public String generate(@RequestParam(value = "message") String message) {
return chatClient.prompt(message).call().content();
}
}通过以上代码,你就可以通过/ai/chat接口发送消息并获得DeepSeek的响应了。
方法二:本地部署DeepSeek
如果你希望将DeepSeek部署在本地服务器上,而不是使用云端API,Spring AI也提供了本地部署的支持。你可以使用Ollama工具将DeepSeek模型本地化部署,然后通过Spring AI与之进行交互。
步骤1:本地部署DeepSeek模型
首先,通过Ollama工具将DeepSeek模型部署到本地服务器。具体的部署过程可以参考这篇文章《DeepSeek满血复活,直接起飞!》。
步骤2:添加依赖
在Maven项目中添加Spring AI的Ollama Starter依赖:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
<version>0.8.1</version>
</dependency>步骤3:配置本地服务
在application.yml文件中配置Ollama的本地服务地址和DeepSeek模型名称:
spring:
ai:
ollama:
base-url:http://localhost:11434
chat:
model:deepseek-r1:1.5b步骤4:代码调用
最后,你可以通过以下代码来调用本地部署的DeepSeek模型:
@RestController
@RequestMapping("/ai")
publicclassChatController {
privatefinal ChatClient chatClient;
publicChatController(ChatClient.Builder chatClient) {
this.chatClient = chatClient.build();
}
@GetMapping("/chat")
public ResponseEntity<Flux<String>> chat(@RequestParam(value = "message") String message) {
try {
Flux<String> response = chatClient.prompt(message).stream().content();
return ResponseEntity.ok(response);
} catch (Exception e) {
return ResponseEntity.badRequest().build();
}
}
}通过这种方式,你就能够通过本地化部署的DeepSeek模型进行交互。
总结
通过Spring AI,我们可以非常方便地集成DeepSeek模型。无论是使用OpenAI兼容模式调用云端服务,还是本地部署模型,Spring AI都提供了灵活、高效的解决方案。这种方式不仅简化了配置,降低了开发的复杂度,还使得切换AI服务商变得更加容易。
对于那些希望在自己的应用中集成国产AI模型的开发者,DeepSeek是一个不错的选择,结合Spring AI的使用,能够让整个集成过程更加顺畅。
也可以看我写的这篇文章《DeepSeek满血复活,直接起飞!》来进行本地搭建。
-END-
以上,就是今天的分享了,看完文章记得右下角点赞,也欢迎在评论区写下你的留言。