Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧

简介: 文章介绍了Spring AI,这是Spring团队开发的新组件,旨在为Java开发者提供易于集成的人工智能API,包括机器学习、自然语言处理和图像识别等功能,并通过实际代码示例展示了如何快速集成和使用这些AI技术。

前言

最近几年ChatGPT爆火之后,很多大公司都开发了自己的大模型,越来越多的开发者开始去探索ChatGPT的奥秘,作为Java应用工程师去使用ChatGPT可能有一些门槛,Chatgpt底层是人工智能大模型技术,值得兴奋的是现在Spring团队推出了SpringAI组件。

image.png

SpringAI是Spring框架的一个全新组件,旨在为开发者提供一套简单易用的API,以便于集成和利用人工智能技术。该组件集成了常用的人工智能功能,包括机器学习、自然语言处理、图像识别等,同时提供了与Spring框架无缝集成的接口,使开发者可以在不改变原有开发习惯的情况下,快速地将人工智能功能应用到他们的项目中。

SpringAI

SpringAI已经支持了主流的大模型,包括openAI,亚马逊AI,GoogleAI

image.png

可想而知,我们可以将Spring框架与ChatGPT结合实现许多有趣和有用的功能。比如:

Spring框架与ChatGPT结合可以实现许多有趣和有用的功能。下面是一些示例:

  1. 智能客服机器人:将ChatGPT集成到Spring应用程序中,可以创建一个智能客服机器人,用于回答用户的常见问题、提供帮助和指导。这样的机器人可以在网站、应用程序或社交媒体上与用户交互,解决用户的疑问和问题。
  2. 智能文本分析:结合ChatGPT的文本生成能力和Spring的应用程序逻辑,可以实现智能文本分析功能。比如,可以开发一个能够理解用户输入并给出相关反馈的应用程序,例如自动化的文本摘要生成、情感分析或语义理解等。
  3. 内容生成与推荐:利用ChatGPT生成文本的能力,结合Spring的应用程序逻辑,可以实现内容生成与推荐系统。通过分析用户的兴趣、历史行为等信息,系统可以向用户推荐个性化的内容,或者生成适合用户的文章、新闻摘要等。
  4. 自然语言处理工具:将ChatGPT集成到Spring应用程序中,可以创建自然语言处理工具,用于处理和分析文本数据。这样的工具可以用于文本清洗、关键词提取、语义分析等任务。
  5. 虚拟助手:利用ChatGPT的对话生成能力,结合Spring的应用程序逻辑,可以创建一个虚拟助手,用于协助用户完成各种任务。这样的助手可以与用户进行自然对话,理解用户的意图,并根据需要执行相应的操作。

下面我们结合代码体验一下。

体验一把

以maven构建的项目为例,我们看下如何接入SpringAI组件:

首先在spring官方的脚手架网站初始化一个项目https://start.spring.io/,注意需要安装jdk17。

image.png

因为我用OpenAI大模型,我们要选择openAI依赖。

image.png

点击generate,生成项目导入我们intellij idea开发工具。我们可以看下pom文件

image.png

可以发现其实Spring就是将不同的ai模型starter组件化,可以快速接入Spring生态。

3、第3步在项目里面写一个Controler.通过OpenAiChatClient发起调用ai,chat


/**
 * @Desc
 * @Author paul
 * @Version 1.0
 */
@RestController(value = "/")
public class AiController {
   
   

    @Autowired
    private OpenAiChatClient openAiChatClient;

    @RequestMapping(path = "/ai")
    public String helloAi(String q) {
   
   
        ChatResponse call = openAiChatClient.call(new Prompt(q));
        String content = call.getResult().getOutput().getContent();
        return content;
    }
}

4.项目加上openAI的key配置

image.png

5.启动项目看结果,比如我们要ai给我们讲个故事。

image.png

是不是很简单。

总结

Spring团队为了Spring生态接入ai大模型,提供了很多大模型的starter,这样Spring用户可以快速使用到大模型的接口,他屏蔽了底层的通信和数据解析逻辑,大大方便的普通开发者使用大模型技术。

image.png

如果你对大模型有兴趣,快体验体验吧。

如果文章你对你有帮助,关注我们,咱们一起学习技术干货。

相关文章
|
6天前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
21 4
|
1天前
|
人工智能 安全 搜索推荐
北大计算机学院再登国际AI顶刊!张铭教授团队揭露医疗AI致命漏洞
【10月更文挑战第16天】北京大学张铭教授团队在国际顶级人工智能期刊上发表重要成果,揭示了医疗AI系统中的致命漏洞——“模型反演”。该漏洞可使攻击者通过特定数据样本误导AI诊断,引发误诊风险。此发现引起广泛关注,强调了医疗AI安全评估的重要性。
8 4
|
2天前
|
存储 人工智能 Java
将 Spring AI 与 LLM 结合使用以生成 Java 测试
AIDocumentLibraryChat 项目通过 GitHub URL 为指定的 Java 类生成测试代码,支持 granite-code 和 deepseek-coder-v2 模型。项目包括控制器、服务和配置,能处理源代码解析、依赖加载及测试代码生成,旨在评估 LLM 对开发测试的支持能力。
9 1
|
4天前
|
JavaScript Java 关系型数据库
自主版权的Java诊所管理系统源码,采用Vue 2、Spring Boot等技术栈,支持二次开发
这是一个自主版权的Java诊所管理系统源码,支持二次开发。采用Vue 2、Spring Boot等技术栈,涵盖患者管理、医生管理、门诊管理、药店管理、药品管理、收费管理、医保管理、报表统计及病历电子化等功能模块。
|
4天前
|
人工智能 开发框架 Java
总计 30 万奖金,Spring AI Alibaba 应用框架挑战赛开赛
Spring AI Alibaba 应用框架挑战赛邀请广大开发者参与开源项目的共建,助力项目快速发展,掌握 AI 应用开发模式。大赛分为《支持 Spring AI Alibaba 应用可视化调试与追踪本地工具》和《基于 Flow 的 AI 编排机制设计与实现》两个赛道,总计 30 万奖金。
|
4天前
|
Java BI 调度
Java Spring的定时任务的配置和使用
遵循上述步骤,你就可以在Spring应用中轻松地配置和使用定时任务,满足各种定时处理需求。
20 1
|
5天前
|
人工智能 Java API
阿里云开源 AI 应用开发框架:Spring AI Alibaba
近期,阿里云重磅发布了首款面向 Java 开发者的开源 AI 应用开发框架:Spring AI Alibaba(项目 Github 仓库地址:alibaba/spring-ai-alibaba),Spring AI Alibaba 项目基于 Spring AI 构建,是阿里云通义系列模型及服务在 Java AI 应用开发领域的最佳实践,提供高层次的 AI API 抽象与云原生基础设施集成方案,帮助开发者快速构建 AI 应用。本文将详细介绍 Spring AI Alibaba 的核心特性,并通过「智能机票助手」的示例直观的展示 Spring AI Alibaba 开发 AI 应用的便利性。示例源
|
6天前
|
Java Apache Maven
Java/Spring项目的包开头为什么是com?
本文介绍了 Maven 项目的初始结构,并详细解释了 Java 包命名惯例中的域名反转规则。通过域名反转(如 `com.example`),可以确保包名的唯一性,避免命名冲突,提高代码的可读性和逻辑分层。文章还讨论了域名反转的好处,包括避免命名冲突、全球唯一性、提高代码可读性和逻辑分层。最后,作者提出了一个关于包名的问题,引发读者思考。
Java/Spring项目的包开头为什么是com?
|
10天前
|
人工智能 Java API
阿里云开源 AI 应用开发框架:Spring AI Alibaba
阿里云开源 Spring AI Alibaba,旨在帮助 Java 开发者快速构建 AI 应用,共同构建物理新世界。
|
10天前
|
开发框架 Java API
「SpringBrick快速入门指南」:一款基于Spring Boot的高级插件化开发框架
「SpringBrick快速入门指南」:一款基于Spring Boot的高级插件化开发框架
22 0