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

Spring AI接入DeepSeek:构建你的第一个AI应用

在人工智能技术飞速发展的今天,将大语言模型集成到应用程序中已成为许多开发者关注的焦点。Spring AI作为Spring生态系统的一部分,为开发者提供了一套简洁、统一的API来集成各种AI模型。本文将介绍如何使用Spring AI接入DeepSeek。

什么是Spring AI?

Spring AI是Spring框架的一个扩展模块,它为开发者提供了一种标准化的方式来与各种人工智能模型和服务进行交互。通过Spring AI,开发者可以:

  1. 使用统一的API访问不同的AI模型

  2. 简化AI模型的集成过程

  3. 利用Spring Boot的自动配置功能快速启动项目

  4. 在生产环境中轻松切换不同的AI服务提供商

Spring AI支持多种AI模型和服务,包括OpenAI、Anthropic等,同时也支持本地模型如Ollama。本文将重点介绍如何接入DeepSeek,一个新兴的优秀大语言模型。

官网:https://spring.io/projects/spring-ai

项目结构

首先,让我们看一下项目的结构:

chat-model-demo/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── cn/river/spring/ai/
│   │   │       └── SpringbootSpringAiApplication.java
│   │   └── resources/
│   │       └── application.properties
│   └── test/
│       └── java/cn/river/spring/ai/
│           └── DeepseekTest.java
└── pom.xml

配置DeepSeek

在[application.properties]文件中,我们需要配置DeepSeek的相关参数:

# deepseek
spring.ai.deepseek.api-key=xxxx
spring.ai.deepseek.chat.options.model=deepseek-chat
spring.ai.deepseek.chat.options.temperature=0.8

其中:

  • spring.ai.deepseek.api-key:您在DeepSeek平台获取的API密钥

  • spring.ai.deepseek.chat.options.model:使用的模型名称,这里使用的是deepseek-chat

  • spring.ai.deepseek.chat.options.temperature:控制生成文本的随机性,值越高结果越随机

环境要求

JDK17

SpringBoot3

Maven依赖配置

在[pom.xml]文件中,需要添加Spring AI对DeepSeek的支持:

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.5.6</version><relativePath/>
</parent><properties><java.version>17</java.version>
</properties><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-deepseek</artifactId></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>1.0.0</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

编写测试代码

在测试文件[DeepseekTest.java]中,我们可以使用Spring AI与DeepSeek进行交互:

基础调用示例

@SpringBootTest
public class DeepseekTest {@Testvoid testDeepseek(@Autowired DeepSeekChatModel deepSeekChatModel) throws Exception {String result = deepSeekChatModel.call("你好你是谁");System.out.println(result);}
}

运行单元测试方法,结果如下:

流式调用示例

@Test
void testDeepseekStream(@Autowired DeepSeekChatModel deepSeekChatModel) throws Exception {Flux<String> stream = deepSeekChatModel.stream("你好你是谁");stream.toIterable().forEach(System.out::println);
}

运行结果:

高级配置示例

@Test
void testChatOptions(@Autowired DeepSeekChatModel deepSeekChatModel) throws Exception {DeepSeekChatOptions options = DeepSeekChatOptions.builder().model("deepseek-chat").temperature(0.1).build();ChatResponse response = deepSeekChatModel.call(new Prompt("请写一首诗描述中秋国庆双节,请只基于已知事实回答,不要主管臆想或添加额外内容", options));System.out.println(response.getResult().getOutput().getText());
}

temperature参数用于控制生成文本的多样性。 具体来说值越高,生成的文本越多样化,但也可能包含更多的随机性和不可预测的内容; 值越低,生成的文本越接近于确定性的结果,即生成的文本会更加一致和可预测。

temperature参数的取值范围是0到2,默认值为1。

运行结果:

总结

通过本文,我们了解了如何使用Spring AI集成DeepSeek大语言模型。Spring AI提供了一套简洁统一的API,让开发者可以轻松地在不同的AI模型之间切换,而无需大幅修改代码。这为构建AI驱动的应用程序提供了极大的便利。

http://www.dtcms.com/a/613439.html

相关文章:

  • 中国最大免费wap网站wordpress转代码
  • Unable to load class ‘org.slf4j.LoggerFactory‘.解决
  • 2025年印尼服务器选型指南:跨境业务落地的合规与性能双解
  • 【C++】C++11:右值引用和移动语义
  • 【ZeroRange WebRTC】视频文件RTP打包与发送技术深度分析
  • 上海网站建设网站开发seo矩阵培训
  • 动手实践:安装Docker并运行你的第一个Web应用
  • 入门C语言编译器 | 学习如何选择和配置C语言开发环境
  • 开源asp学校系统网站跨境电商平台有哪些免费的
  • 前端构建工具多页面配置,Webpack与Vite
  • 茂名网站建设服务怀柔高端网站建设
  • Photoshop图层样式
  • Python 第三方库:Markdown(将文本渲染为 HTML)
  • [智能体设计模式] 第12章:异常处理与恢复
  • 网站建设 维护揭阳百度seo公司
  • STL设计模式探秘:容器适配器仿函数
  • 平面翻转群
  • 毕业设计做音乐网站网站开发的最初阶段包括
  • 【ros2】ROS2 C++节点创建指南
  • 可编程逻辑器件学习(day18):FPGA时序理论与数字电路基础深度解析
  • 大数据Spark(七十三):Transformation转换算子glom和foldByKey使用案例
  • 工业显示器在真空包装机中的应用
  • 西安网站建设咪豆广告发布与制作
  • 无锡网站设计服务电子商务网站技术
  • 跨平台账号矩阵高效协同术
  • Ubuntu重新挂载Windows C盘以及如何安全退出外挂硬盘
  • 前端微前端框架原理,qiankun源码分析
  • 深入HarmonyOS打印服务:从基础到高级应用开发
  • 在ubuntu中创建根文件系统
  • 科大讯飞哪些做教学资源的网站泰安网络推广seo