当前位置: 首页 > 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,如下图所示。
在这里插入图片描述

相关文章:

  • 【鸿蒙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)系列实时频谱分析记录回放系统
  • 做PS的赚钱的网站/百度收录查询接口
  • 唐山网站建设zzvg/刷关键词排名seo软件软件
  • 如何做阿里巴巴的网站首页/国际站seo优化是什么意思
  • 广州建设工程中心网站/公司网站制作
  • 拼图式网站开发/网站怎么优化搜索
  • 百度网页打不开怎么办/大同优化推广