首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

立即行动,用Spring AI+DeepSeek开启智能开发新时代!

Spring AI 是 Spring 生态系统中的一个重要项目,旨在将人工智能集成到 Spring 应用程序中,它为 Java 开发者提供了一种便捷的方式来构建、管理和部署 AI 模型。

Spring AI 的主要亮点有以下几点:

统一接口

:无论是 OpenAI、Hugging Face 还是国产的 DeepSeek,只要通过 Spring AI,你都可以用同样的方式调用它们。

简化配置

:不用再手动配置各种复杂的参数,Spring AI 会帮你搞定一切,比如 API 密钥、模型参数等。

灵活切换

:如果哪天你想换个 AI 服务商,只需要改个配置文件,业务代码基本不用动,省心又高效。

这次我们要讲的是如何用 Spring AI 来集成国产的 AI 模型 DeepSeek。这款模型最近很火,性能不错,很多公司都在考虑集成到自己的应用中。接下来,我会详细介绍两种集成方式:伪装成 OpenAI本地化部署

方法一:伪装成 OpenAI

DeepSeek 提供了 OpenAI 兼容模式,这意味着你可以用调用 OpenAI 的方式来调用 DeepSeek。Spring AI 的 openai starter 就是通过 RestTemplate 发请求的,我们只需要稍微改一下 URL 和认证方式就行了。

1、添加依赖

首先,在你的 Maven 项目中添加以下依赖:

  <groupId>org.springframework.ai</groupId>   <artifactId>spring-ai-openai-spring-boot-starter</artifactId>   <version>0.8.0</version>

2、修改配置文件

在application.yml中配置 DeepSeek 的 OpenAI 兼容端点和 API 密钥:

spring: ai:   openai:     api-key: sk-xxx # 替换为你的API Key     base-url: https://api.deepseek.com     chat:       options:         model: deepseek-chat # 可选模型:deepseek-chat/deepseek-reasoner         temperature: 0.7

注意:API 密钥需要去 DeepSeek 开放平台申请,由于官网服务器资源紧张,已暂停 API 服务充值,所以我们需要其他的方法来获取,具体请看之前的文章。

3、在代码中调用

写一个简单的控制器,用于调用 DeepSeek 模型生成响应:

@RestControllerpublic class ChatController {   private final OpenAiChatModel chatModel;

  public ChatController(OpenAiChatModel chatModel) {       this.chatModel = chatModel;   }

  @GetMapping("/chat")   public String generate(@RequestParam String message) {       return chatModel.call(message);   }}

这样,你就可以通过/ai/chat接口发送消息,并获取 DeepSeek 的响应了。

4、覆盖默认配置(可选)

如果某些请求需要使用不同的模型或参数,可以在调用时临时覆盖默认配置:

@GetMapping(value = "/stream", produces = "text/event-stream")public Flux<String> streamChat(@RequestParam String message) {   return chatModel.stream(new Prompt(message))       .map(ChatResponse::getResult)       .map(Generation::getContent);}

方法二:本地化部署

如果你更倾向于在本地或者内网服务器中部署 DeepSeek 模型,这种方式会更适合你。我们可以借助 Ollama 工具来本地部署一个 DeepSeek R1 蒸馏版。

1、根据硬件条件选择部署方式:

轻量级部署:使用DeepSeek-R1蒸馏模型(8B/14B参数)

企业级部署:部署完整版DeepSeek-R1(需404GB存储+1300GB显存)

2、环境准备硬件要求:

最低配置:NVIDIA RTX 3090(24GB显存)

推荐配置:NVIDIA A100(80GB显存)

3、部署DeepSeek本地模型

通过Ollama将DeepSeek部署到本地我已经写过教程了,大家可以参考这篇教程:【告别服务器卡顿!零基础本地部署DeepSeek大模型,Windows/Mac双系统保姆级教程!】

将DeepSeek部署到本地后再回来进行后续操作。

4、添加依赖

在 Maven 项目中添加以下依赖:

  <groupId>org.springframework.ai</groupId>   <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>   <version>0.8.0</version>

5、修改配置文件

在application.yml中配置 Ollama 的本地服务地址和模型名称:

6、在代码中调用

写一个控制器,用于调用本地部署的 DeepSeek 模型:

@RestControllerpublic class LocalChatController {   private final OllamaChatModel chatModel;

  public LocalChatController(OllamaChatModel chatModel) {       this.chatModel = chatModel;   }

  @GetMapping("/local-chat")   public String localChat(@RequestParam String message) {       return chatModel.call(message);   }

  @GetMapping(value = "/local-stream", produces = "text/event-stream")   public Flux<String> streamChat(@RequestParam String message) {       return chatModel.stream(new Prompt(message))               .map(ChatResponse::getResult)               .map(Generation::getContent);   }}

通过 Spring AI,我们可以轻松实现 DeepSeek 的集成,无论是通过云端的 OpenAI 兼容模式,还是本地化部署,都非常简单方便。如果你正在寻找一款高效的国产 AI 模型,DeepSeek 值得一试。

而 Spring AI 则让整个集成过程变得更加顺畅。我的感觉是,这种方式不仅降低了开发复杂度,还提升了代码的灵活性,强烈推荐试试!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OuMQmgtwC1IjM3pVanv7bZxg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券