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

Spring AI学习一

随着Chatpt的火爆,现在Spring官方也开始支持AI了并推出了Spring AI框架,目前还没发布正式版本,这里可以先看一下官方依赖的版本。

Spring官网地址可以看这里:Spring | Home

目前官网上是有这两个版本:1.0.0和1.1.0-SNAPSHOT两个版本。

现在我们在本地搭建SpringAI工程,这里需要注意两点:

1.SpringAI框架支持的版本为SpringBoot3.x版本。

2.SpringAI框架支持的JDK版本为17+。

 话不多说,我们开始在本地搭建Maven项目,首先是引入Maven依赖:

<!--SpringBoot版本控制--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.8</version></parent><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring-ai.version>1.0.0-M5</spring-ai.version></properties><dependencies><!--SpringBoot Web 控制器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--openai和SpringBoot整合--><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId></dependency><!--SpringBoot Test--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency></dependencies><!--spring ai版本控制--><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>

 依赖引入以后,我们需要对openai进行配置,下面仅以deepseek接入作为示例,接下来要配置applicaiton.properties文件。

#在DeepSeek上进行申请,不清楚的,待会会另开一个文章进行演示。
spring.ai.openai.api-key=sk-f0ca21bd****************
#deepseek的地址
spring.ai.openai.base-url=https://api.deepseek.com
#待调用的模型名称
spring.ai.openai.chat.options.model=deepseek-chat
#这个是生成结果的多样性的配置
spring.ai.openai.chat.options.temperature=0.7

配置文件也弄好了,接下来我们就可以开始编码了

@RestController
@RequestMapping("/openai")
public class DemoController {@AutowiredOpenAiChatModel openAiChatModel;@GetMapping(value = "/hello")public String openaiHello(@RequestParam(value = "message", defaultValue = "你是谁") String message) {String result = openAiChatModel.call(message);System.out.println(result);return result;}
}

我们看看deepseek是怎么回答的

到这里,一个小DEMO就搭建好了

http://www.lqws.cn/news/164233.html

相关文章:

  • StoreView SQL,让数据分析不受地域限制
  • mysql复合查询mysql子查询
  • 如何通过外网访问内网?哪个方案比较好用?跨网远程连接网络知识早知道
  • Struts2漏洞由浅入深
  • Python语法进阶篇 --- 封装、继承、多态
  • React从基础入门到高级实战:React 实战项目 - 项目二:电商平台前端
  • 大中型水闸安全监测管理系统建设方案
  • 工厂模式 + 模板方法模式 + 策略模式的适用场景
  • 在 Spring Boot 中使用 JSP
  • 如何做好一份技术文档?(下篇)
  • Ansys Maxwell:线圈和磁体的静磁 3D 分析
  • 每日算法 -【Swift 算法】三数之和最接近目标值
  • 高敏感应用如何保护自身不被逆向?iOS 安全加固策略与工具组合实战(含 Ipa Guard 等)
  • wxpython快捷键示例
  • SpringBoot3整合MySQL8的注意事项
  • 云服务器自带的防御可靠吗
  • 使用 minicom 录制串口报文并回放
  • 数据融合是什么?进行数据融合的4大关键环节!
  • AI开启光伏新时代:精准计算每小时发电量​
  • 【JS进阶】ES5 实现继承的几种方式
  • 微软认证考试科目众多?该如何选择?
  • 基于SpringBoot的房屋租赁系统的设计与实现(thymeleaf+MySQL)
  • IDEA202403 设置主题和护眼色
  • 【QT】qtdesigner中将控件提升为自定义控件后,css设置样式不生效(已解决,图文详情)
  • C# 委托UI控件更新例子,何时需要使用委托
  • Agentic AI 和 Agent AI 到底区别在哪里?
  • Redis大量key集中过期怎么办
  • Qt 开发中的父类与父对象的区别和父对象传递:如何选择 `QWidget` 或 `QObject`?
  • 基于Canvas实现画布
  • Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!