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

Java的SpringAI+Deepseek大模型实战

文章目录

  • 背景
  • 项目环境
  • 第一步、新建项目
  • 第二步、引入依赖
  • 第三步、添加配置文件
  • 第四步、设置客户端
  • 第五步、设置访问端
  • 第六步、启动与访问
  • 异常处理
    • 1、编译报错
      • 1)检查pom中 JDK版本是否为17
      • 2)检查项目结构中JDK版本

背景

大模型火热,Java如何与大模型交互,下班在家,在本地尝试下搭建模型,记录下来,方便备查。

项目环境

springBoot版本:3.x
JDK版本 : 17
搭建Deepseek本地模型,可参考博客【Deepseek得两种访问方式与本地部署】

第一步、新建项目

使用IDEA编辑器新建项目,
在这里插入图片描述

选择 springBoot项目
在这里插入图片描述

第二步、引入依赖

在pom 中引入 web、MySQL、lombok等依赖,如下所示。

 <properties><java.version>17</java.version><spring-ai.version>1.0.0</spring-ai.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-ollama</artifactId></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.22</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</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.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

第三步、添加配置文件

修改配置文件的类型,修改为【yaml】
在这里插入图片描述
使用的模型为deepseek,配置文件内容如下所示。

spring:application:name: learn-springaiai:ollama:base-url: http://localhost:11434chat:model: deepseek-r1

第四步、设置客户端

新建configure文件,命名为 CommomConfiguration
在这里插入图片描述
代码如下所示

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.ollama.OllamaChatModel;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** @auth wang* @Date 2025/6/18 21:43**/
@Configuration
public class CommomConfiguration {@Beanpublic ChatClient chatClient(OllamaChatModel model){return ChatClient.builder(model).build();}
}

第五步、设置访问端

新建controller文件,命名为ChatController
在这里插入图片描述
代码如下所示

import lombok.RequiredArgsConstructor;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @auth wang* @Date 2025/6/19 22:02**/
@RequiredArgsConstructor
@RestController
@RequestMapping("/ai")
public class ChatController {private final ChatClient chatClient;@RequestMapping("/chat")public String chat(String str){return chatClient.prompt().user(str).call().content();}
}

第六步、启动与访问

项目启动,直接运行 Application 类文件,控制台打印如下所示,即说明项目访问成功。
在这里插入图片描述
在浏览器页面,输入【http://localhost:8080/ai/chat?str=你是谁?】,页面如下则说明访问成功!
在这里插入图片描述

异常处理

1、编译报错

错误信息:java: 警告: 源发行版 17 需要目标发行版 17
处理方案

1)检查pom中 JDK版本是否为17

JDK版本是否为17

    <properties><java.version>17</java.version><spring-ai.version>1.0.0</spring-ai.version></properties>

2)检查项目结构中JDK版本

在【files文件】-【项目结构】-【项目设置】-【项目】,SDK版本是否为17,如下图所示。
在这里插入图片描述

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

相关文章:

  • 【鸿蒙HarmonyOS Next App实战开发】​​ArkUI时钟界面实现解析:动态双模式时钟与沉浸式体验​
  • CppCon 2017 学习:Effective Qt: 2017 Edition
  • 算法导论第十八章 计算几何:算法中的空间艺术
  • Java八股文——操作系统「进程篇」
  • MySQL高可用方案解析与选型指南
  • 内网攻防实战_红日靶场01
  • FPGA基础 -- Verilog函数
  • 在真实环境中对 LLM 代理进行安全评估的综合基准
  • Spring Boot(九十三):Springboot 整合cfx实现webservice接口
  • 【Computer】计算机原理大纲
  • uni-app项目实战笔记16--实现头部导航栏效果
  • 苍穹外卖--WebSocket、来单提醒、客户催单
  • 设计案例分享 | 临床生物样本大数据中心网站设计
  • springboot的后端处理HTML的页面请求
  • openssl 自签证书生成步骤
  • 查询docker-compose 部署的milvus 请求日志
  • 解决 Docker 里 DrissionPage 无法连接浏览器的问题,内含直接可用的Docker镜像(DrissionPage 浏览器链接失败 怎么办?)
  • Dockerfile的学习与实践
  • candence17.4仿真高通滤波与电容隔离电路
  • 坤驰科技QTS4200战鹰(Battle Eagle)系列实时频谱分析记录回放系统
  • 基于大模型的急性结石性胆囊炎全流程预测与诊疗方案研究
  • 【单片机】51单片机学习笔记
  • 使用Charles抓包工具提升API调试与性能优化效率
  • 【数字人开发】Unity+百度智能云平台实现短语音文本识别功能
  • DOM型XSS深度渗透实战
  • DL00215-基于YOLOv11的太阳能电池红外异常检测含数据集
  • 不同AI架构如何选择?单Agent+MCP“与“多Agent“架构对比分析!
  • GDB 简介与使用示例:程序调试从这里开始!
  • python使用pydantic库结合fastApi实现接口参数验证
  • 华为OD机试-最佳植树距离-二分(JAVA 2025A卷)