【带小白做项目】如何在SpringBoot项目中接入AI大模型?

article/2025/8/11 19:48:20

         随着chatGPT的兴起,越来越多的应用接入了AI大模型,那么我们要怎么在自己的项目中接入AI大模型呢?本节我们一起做一个简单的demo来尝试一下。

一  为什么要在项目中接入大模型

1. 增强业务功能和用户体验

        AI 大模型(如 GPT、BERT、DALL-E 等)具备强大的自然语言处理、图像生成和分类、机器翻译等能力,可以大幅提升应用的功能和用户体验。

  • 智能对话与客服:通过集成 GPT-3、GPT-4 等语言模型,应用可以实现自然语言的智能对话系统,提供更流畅和人性化的用户互动。例如,在线客服可以通过 AI 模型自动响应用户的问题,减轻人工客服的负担。
  • 文本生成与内容创建:AI 模型可以根据用户输入生成高质量的文本,用于创作文章、产品描述、广告文案等。这为内容平台、电子商务网站或社交媒体应用带来新的创作方式。
  • 数据分析与决策支持:在企业管理和业务应用中,AI 模型能够分析大量文本、用户反馈或数据,帮助进行情感分析、舆情监测、市场分析等,从而为企业提供更好的决策支持。

2. 提高自动化与效率

        AI 模型可以有效地自动化许多任务,减少人力成本并提高效率。

  • 自动文档处理:例如,通过 NLP 模型,可以自动进行文档分类、摘要提取、内容审核等任务。这对于法律、金融、医疗等行业尤为重要,能够加速工作流程。
  • 预测与推荐系统:集成大模型后,可以对用户行为进行预测,给出个性化推荐,类似于电子商务网站中的产品推荐或流媒体平台的内容推荐。这些功能基于用户数据的深度分析,有助于提升转化率和用户黏性。

3. 支持多语言与全球化扩展

        许多 AI 大模型(如 GPT-4、M2M-100)支持多语言处理,这对于需要扩展全球市场的应用非常有帮助。

  • 自动翻译:通过接入 AI 模型,应用可以实现自动的高质量翻译,支持多语言的用户交互。尤其在电子商务、社交平台或客户服务等领域,帮助公司服务全球用户。
  • 多语言内容生成:不仅仅是翻译,AI 还能在不同语言间生成符合文化语境的内容,从而帮助品牌进行全球化的市场营销。

4. 个性化用户体验

        AI 模型能够分析用户的历史数据和行为,提供高度个性化的服务。

  • 智能推荐:通过集成 AI 模型,应用可以根据用户的兴趣和需求,提供定制化的推荐内容。这在电商、视频流媒体、社交媒体平台上非常常见。
  • 情感分析:在分析用户输入的文本时,AI 模型可以判断用户的情感状态,帮助应用实时调整互动策略。例如,在客户服务场景中,AI 模型能够识别出用户的情绪(如不满或困惑),然后采取相应的响应方式。

5. 增强应用的智能化与创新竞争力

        随着 AI 技术的迅速发展,集成 AI 功能已经成为提升应用智能化水平的一个重要趋势。通过接入 AI 大模型,应用可以变得更加智能,响应速度更快,处理复杂问题的能力更强,从而在竞争中获得优势。

  • 技术创新:在激烈的市场竞争中,集成 AI 的应用更具有创新性,可以提供差异化的服务,这有助于增强企业的市场竞争力。
  • 自动化创新:不仅限于处理文本或图片,AI 模型还能在各类复杂的业务场景中引入自动化,解决实际问题,如产品推荐、订单分析、用户画像等。

6. 降低开发成本

        与传统的手动开发特定的功能模块相比,AI 模型可以快速实现复杂功能,而无需构建大量规则或手工编程。

  • 快速构建复杂功能:例如,创建一个智能对话系统可能需要大量的规则和逻辑,而使用现成的 AI 模型可以极大简化这个过程,减少开发成本。
  • 模型复用:通过使用 AI 模型,开发者可以轻松复用已经训练好的模型(如通过 API),而不需要从头构建复杂的算法或模型。

7. 数据驱动的改进与优化

        AI 模型善于从大量数据中提取信息和模式,能根据这些模式帮助优化应用程序的功能。

  • 用户行为分析:通过接入 AI,大模型可以根据大量用户数据(如点击、浏览历史、购买记录等),不断优化推荐系统和交互体验,使应用更加贴合用户需求。
  • 实时反馈与学习:随着 AI 模型对用户数据的实时处理和分析,系统能够动态调整其行为,从而改进服务质量。

二  参考文档

 Spring AI Referenceicon-default.png?t=N7T8https://docs.spring.io/spring-ai/reference/concepts.html

三  环境配置

        首先我们需要保证我们的JDK版本不低于17,SpringBoot版本为3.0以上。因为很多人之前用的都是JDK8或者11,所以我们需要重新安装JDK17,如何在已经安装JDK的情况下新增JDK可以参考这篇博客:【答疑】已经安装了JDK,如何安装其他版本的JDK?-CSDN博客。

        我们在IDEA中新建一个项目,按下图中的内容进行配置,点击next:

        在这一步中选择SpringBoot的版本为3.x以上的版本,这里我用到的是3.3.3。如果IDEA里的SpringBoot版本选项中没有3.x的版本,可以查看一下server url是不是之前被修改过了,我们返回上一步:

        查看这里的server url是不是之前改成了阿里云的脚手架(或者其他的),我们点击右边的小齿轮符合,将其改回Spring官方的地址https://start.spring.io/,点击next。这时我们应该就可以看到3.x的版本了,如果还是不行,可以查看一下是不是自己的IDEA版本是不是过低了。

        选择好SpringBoot版本后,我们在左侧的选择框中选择添加依赖,点击create:

        等待maven下载依赖,即可完成项目创建。

 四 获取GPT API keys

        登录https://platform.openai.com/account/api-keys,在控制台页面中,点击左侧菜单的“API Keys”选项,点击页面中的 “+ Create new secret key” 按钮,输入一个Test key用来创建密钥,系统将生成一个新的 API 密钥(这里需要进行一个短信验证码验证),记得及时保存秘钥,退出后无法二次查看,只能创建一个新的秘钥。

五 项目配置

1.在application.yaml中配置api-key等信息

july:openai:key: url: spring:ai:openai:api-key: ${july.openai.key}base-url: ${july.openai.url}

2.修改启动类

@SpringBootApplication
public class Application {public static void main(String[] args) {// 设置代理String proxy = " ";  int port =  ;   //代理的端口,System.setProperty("proxyType", "4");System.setProperty("proxyPort", Integer.toString(port));System.setProperty("proxyHost", proxy);System.setProperty("proxySet", "true");SpringApplication.run(Application.class, args);}@Beanpublic OpenAiAudioApi openAiAudioApi(@Value("${july.openai.key}") String openAiKey){return new OpenAiAudioApi(openAiKey);}}

3.实现方法

实现各种API的代码可以参考Chat Client API :: Spring AI Reference,这里不一一演示了,以聊天接口为例:

    @GetMapping("/chat")public String completion(@RequestParam(value = "message", defaultValue = "请你介绍一下ai大模型") String message) {System.out.println(openAiKey);return this.chatClient.prompt().user(message).call().content();}

完整源码可以下载文章附件资源获得~


http://www.hkcw.cn/article/TxfutAbNNp.shtml

相关文章

【计算机主板架构】ATX架构

一、引言 在计算机的世界里,主板就如同一个城市的基础设施,承载着各种重要的组件并协调它们的工作。而ATX(Advanced Technology Extended)架构的主板,自问世以来,一直在计算机硬件领域占据着举足轻重的地位…

精选了几道MySQL的大厂面试题,被提问的几率很高!

🎥 作者简介: CSDN\阿里云\腾讯云\华为云开发社区优质创作者,专注分享大数据、Python、数据库、人工智能等领域的优质内容 🌸个人主页: 长风清留杨的博客 🍃形式准则: 无论成就大小,…

搞定mysql的 行转列(7种方法) 和 列转行

一、行转列 1、使用case…when…then 2、使用SUM(IF()) 生成列 3、使用SUM(IF()) 生成列 WITH ROLLUP 生成汇总行 4、使用SUM(IF()) 生成列,直接生成汇总结果,不再利用子查询 5、使用SUM(IF()) 生成列 UNION 生成汇总行,并利用 IFNULL将汇总行标题…

高并发场景下的热点key问题探析与应对策略

目录 一、问题描述 二、发现机制 三、解决策略分析 (一)解决策略一:多级缓存策略 客户端本地缓存 代理节点本地缓存 (二)解决策略二:多副本策略 (三)解决策略三:热点…

SQL Server——SSMS中数据库、表的创建

目录 一、引言 二、数据库、表的创建与删除 (一)方法一:在SSMS控制平台上进行创建 (二)方法二:使用 SQL 代码实现对数据库和表的创建 三、SQL 和 T-SQL 一、引言 在学习数据库的过程中,初…

spring AOP详解

文章目录 AOP1 环境准备1.1 工程及接口创建1.2 工程存在的问题1.2.1 问题1.2.2 解决思路 2 AOP面向切面编程2.1 AOP概述2.2 AOP原理分析 3 基于注解的AOP3.1 入门示例3.2 使用流程3.3 切入点表达式3.4 练习3.5 通知类型 AOP ​ AOP(Aspect Orient Programming&…

重看Spring聚焦ApplicationContext分析

目录 一、理解下ApplicationContext的设计 (一)功能性的理解 (二)ApplicationContext 结构类图 二、ApplicationContext根接口 (一)源码展示 (二)分析说明 三、子接口Configu…

【MySQL安装】—报错“Can‘t connect to local MySQL server through socket ‘varlibmysqlmysql.sock‘”

项目场景: 执行 “mysql -uroot -p” 命令,进入MySQL数据库。 问题描述: 报错: Cant connect to local MySQL server through socket /var/lib/mysql/mysql.sock 原因分析: /var/lib/mysql路径下缺少mysql.sock文件。 …

本地部署Vanna实战,快速解决NLP2SQL

一、背景 ​ 随着DeepSeek的火爆,基于AI的应用也如雨后春笋般迸发出来,如何根据用户的一句话来找到用户所需要的信息,采用传统的方式无法通过模糊匹配等实现复杂的业务场景,故探索一种新的思路来实现信息获取。Text2SQL将自然语言…

【MySQL】基础操作

MySQL(二)基础操作 一、数据库操作 1.创建库 2.查看库 3.选中库 4.删除库 二、表操作 1.创建表 1.1[comment 注释]: 1.2,...: 2.查看表 2.1查看所有表 2.2查看表结构 3.删除表 三、记录操作 1.插入记录 1.1全列插入 1.2指定列插入 1.3…

嵌入式硬件篇---蜂鸣器

蜂鸣器是一种常用的电子发声元件,主要分为有源蜂鸣器和无源蜂鸣器两类。它们在结构、工作原理、驱动方式、应用场景等方面存在显著差异。以下是详细介绍: 一、核心定义与结构差异 1. 有源蜂鸣器 定义: “有源” 指内部自带振荡电路&#x…

工程的焊接技术

一、焊接设备与材料 焊接设备:对应不同焊接方法,如焊条电弧焊设备包括电焊机、焊钳、接地夹等。 焊接材料 焊条 分类:按熔渣性质分为碱性焊条(低氢型)和酸性焊条。 选用原则:根据焊接场景选择,…

HackMyVM-Teacher

信息搜集 主机发现 ┌──(kali㉿kali)-[~] └─$ nmap -sn 192.168.43.0/24 Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-01 01:02 EDT Nmap scan report for 192.168.43.1 Host is up (0.0084s latency). MAC Address: C6:45:66:05:91:88 (Unknow…

AE矩形工具蒙版找不到椭圆形工具怎么办?

是不是也跟我一样遇到了这个问题 ? 还以为是自己安装的版本有问题。其实并没有。 只需要选择矩形工具,鼠标左键,长按1s即可有其他选项 这样就解决啦

Linux 学习-模拟实现【简易版bash】

1、bash本质 在模拟实现前,先得了解 bash 的本质 bash 也是一个进程,并且是不断运行中的进程 证明:常显示的命令输入提示符就是 bash 不断打印输出的结果 输入指令后,bash 会创建子进程,并进行程序替换 证明&#x…

【Android SDK(adb命令环境)工具安装下载教程】

1、打开下载地址:SDK 平台工具版本说明 | Android Studio | Android Developers 2、下载Android SDK Platform-Tools压缩包,选择路径进行解压 3、复制SDK文件platform-tools保存的路径 4、配置adb环境变量;按下wini,在设置界面搜索”环境…

Redis可视化工具 RDM mac安装使用

第一步:https://pan.baidu.com/s/10vpdhw7YfDD7G4yZCGtqQg?at1673701651004将dmg下载 第二部:点击下载的dmg文件进行安装、mac可能会提示: 无法验证此App不包含恶意软件 解决方法: 打开系统偏好设置>安全性与隐私>通用&am…

Mac 使用 Crossover 加载 Windows Steam 游戏库,实现 Windows/Mac 共享移动硬盘

Mac 使用 Crossover 加载 Windows Steam 游戏库,实现 Windows/Mac 共享移动硬盘 1. 在Crossover上安装Steam2. Steam容器加载移动硬盘3. 配置Steam库 前言:本文介绍了如何在Crossover上安装Steam并加载外接移动硬盘,实现在Window上下载的游戏…

Mac上媲美TortoiseSVN 的Svn的强大客户端 — macSvn

什么是macSvn? 如果你使用过 svn 那肯定听说过 TortoiseSVN, 但是 TortoiseSVN 并不支持在 mac 上使用。而 macSvn 是一款专为macOS设计的SVN(Subversion)客户端,它和TortoiseSVN一样,提供了直观的图形化操作方式.操作非常方便! …

给Android Studio配置本地gradle和maven镜像地址,加快访问速度

Android Studio在创建工程后默认会访问Google自己的官网去下载gradle和maven依赖项,国内访问Google的速度相当慢,如果没有科学上网的话,甚至无法访问。本文记录如何解决这些问题。 配置本地gradle 下载gradle 首先需要去国内的网站下载gra…