面试官:谈谈对SpringAI的理解?
2024-06-14 08:53:38 软件 126观看
摘要Spring AI 已经发布了好长时间了,目前已经更新到 1.0 版本了,所以身为 Java 程序员的你,如果还对 Spring AI 一点都不了解的话,那就有点太落伍了。言归正传,那什么是 Spring AI?如何快速进行 Spring AI 开发呢?1.什么是Sprin

f8H28资讯网——每日最新资讯28at.com

Spring AI 已经发布了好长时间了,目前已经更新到 1.0 版本了,所以身为 Java 程序员的你,如果还对 Spring AI 一点都不了解的话,那就有点太落伍了。f8H28资讯网——每日最新资讯28at.com

言归正传,那什么是 Spring AI?如何快速进行 Spring AI 开发呢?f8H28资讯网——每日最新资讯28at.com

1.什么是Spring AI?

Spring AI 是 Spring 官方社区项目,旨在简化 Java AI 应用程序开发,让 Java 开发者像使用 Spring 开发普通应用一样开发 AI 应用。f8H28资讯网——每日最新资讯28at.com

Spring 官方对于 Spring AI 的定义是这样的:f8H28资讯网——每日最新资讯28at.com

Spring AI is an application framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design and promote using POJOs as the building blocks of an application to the AI domain.f8H28资讯网——每日最新资讯28at.com

翻译一下,Spring AI 是 AI 工程的应用框架。其目标是将 Spring 生态系统设计原则(如可移植性和模块化设计)应用于 AI,并推广使用 POJO 作为 AI 领域应用程序的构建块。f8H28资讯网——每日最新资讯28at.com

什么意思呢?简单来说,Spring AI 就是让 Java 开发者,像开发 Spring 普通应用一样开发 AI 应用。f8H28资讯网——每日最新资讯28at.com

注意:Spring AI 不是帮你构建一个大模型,而是让你方便的对接各种大模型。f8H28资讯网——每日最新资讯28at.com

Spring AI 官方文档:https://spring.io/projects/spring-aif8H28资讯网——每日最新资讯28at.com

2.Spring AI有什么功能?

Spring AI 目前可以实现以下功能(后续还会支持更多功能):f8H28资讯网——每日最新资讯28at.com

  • 智能聊天
  • 文本转图片
  • 音频和文本互转

Spring AI 支持的大模型有以下这些(后续还会支持更多大模型):f8H28资讯网——每日最新资讯28at.com

f8H28资讯网——每日最新资讯28at.com

3.Spring AI快速上手

Spring AI 开发步骤主要有以下几步:f8H28资讯网——每日最新资讯28at.com

  1. 创建 Spring Boot 项目,并添加模型依赖;
  2. 配置模型的连接地址和秘钥;
  3. 使用模型提供的对象和方法,实现功能调用。

具体操作如下。f8H28资讯网——每日最新资讯28at.com

(1)添加模型依赖

首先,先创建一个 Spring Boot 项目(最低 Java 版本为 JDK 17),并添加 AI 模型依赖(以 OpenAI 为例演示),如下图所示:f8H28资讯网——每日最新资讯28at.com

f8H28资讯网——每日最新资讯28at.com

(2)配置模型参数

OpenAI 至少要配置两个参数:模型的接口访问地址和模型的秘钥信息,如下配置所示:f8H28资讯网——每日最新资讯28at.com

spring:  ai:    openai:      base-url: https://api.openai.com      api-key: sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

如何获取 OpenAI 的 api-key?f8H28资讯网——每日最新资讯28at.com

答:可以去某宝,搜索“API Key”花几毛钱就可以买一个 key,调用上千次。f8H28资讯网——每日最新资讯28at.com

(3)调用模型方法

以 AI 聊天为例,当我们操作 OpenAI 的时候,可以通过 OpenAiChatModel 对象的 call(String msg) 进行聊天功能的实现,具体实现代码如下:f8H28资讯网——每日最新资讯28at.com

import jakarta.annotation.Resource;import org.springframework.ai.openai.OpenAiChatModel;import org.springframework.util.StringUtils;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("/openai")public class OpenAIController {    @Resource    private OpenAiChatModel chatModel;    // 生成一个普通方法    @RequestMapping("/test")    public String test(String msg) {        if (!StringUtils.hasLength(msg)) {            return "请先输入信息!";        }        return chatModel.call(msg);    }}

以上代码的执行效果如下:f8H28资讯网——每日最新资讯28at.com

f8H28资讯网——每日最新资讯28at.com

当然,除了聊天功能之外,我们还可以实现生成图片、音频和文本的互相转换等功能,这里就不一一演示了,大家可以去官网查看更多示例代码:https://docs.spring.io/spring-ai/reference/1.0/api/index.html。f8H28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-93705-0.html面试官:谈谈对SpringAI的理解?

声明:本网页内容旨在传播知识,不代表本站观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。

显示全文

上一篇:分布式事务的应用场景及解决方案

下一篇:转转回收持久层的架构演进

最新热点