AI来了,Spring还会远吗?(Spring AI初体验)

目录

一、创建项目

最低要求:JDK17

下载好JDK 17,在上图的JDK中不一定能看到。此时,选add JDK:选zulu-17.jdk -> Contents -> Home

二、first demo

1、application.properties

bash 复制代码
spring.ai.openai.api-key=sk-xxx
spring.ai.openai.chat.options.model=gpt-3.5-turbo
spring.ai.openai.chat.options.temperature=0.7

2、ChatController

java 复制代码
@RestController
public class ChatController {

    private final OpenAiChatClient chatClient;

    @Autowired
    public ChatController(OpenAiChatClient chatClient) {
        this.chatClient = chatClient;
    }

    @GetMapping("/ai/generate")
    public Map generate(@RequestParam(value = "message", defaultValue = "美国的首都是?") String message) {
        return Map.of("generation", chatClient.call(message));
    }

    @GetMapping("/ai/generateStream")
    public Flux<ChatResponse> generateStream(@RequestParam(value = "message", defaultValue = "美国的首都是?") String message) {
        Prompt prompt = new Prompt(new UserMessage(message));
        return chatClient.stream(prompt);
    }
}

3、结果

  • /ai/generate
  • /ai/generateStream
    • 额... 流式调用不行...

三、个人思考

  • 不少人把调API的人称为调包侠,把搞深度学习的人称为炼丹师。但从软件工程的角度出发,将服务/功能封装为一个个好用的API是构建复杂系统的基础。我们不可能亲手去造每一个轮子,况且术业有专攻,自己造的不如专业人士造的好用。
  • 熟练掌握API是起点,接下来,咱还得去学习下Spring AI是如何兼容这么多llm的吧。

接触过各种llm的api就知道,那叫一个千奇百怪。

相关推荐
冰蓝蓝3 分钟前
深度学习中的注意力机制:解锁智能模型的新视角
人工智能·深度学习
橙子小哥的代码世界11 分钟前
【计算机视觉基础CV-图像分类】01- 从历史源头到深度时代:一文读懂计算机视觉的进化脉络、核心任务与产业蓝图
人工智能·计算机视觉
是小崔啊12 分钟前
开源轮子 - EasyExcel01(核心api)
java·开发语言·开源·excel·阿里巴巴
黄公子学安全21 分钟前
Java的基础概念(一)
java·开发语言·python
liwulin050622 分钟前
【JAVA】Tesseract-OCR截图屏幕指定区域识别0.4.2
java·开发语言·ocr
jackiendsc26 分钟前
Java的垃圾回收机制介绍、工作原理、算法及分析调优
java·开发语言·算法
qxlxi26 分钟前
【Spring事务】深入浅出Spring事务从原理到源码
spring
Yuan_o_26 分钟前
Linux 基本使用和程序部署
java·linux·运维·服务器·数据库·后端
Oneforlove_twoforjob30 分钟前
【Java基础面试题027】Java的StringBuilder是怎么实现的?
java·开发语言
新加坡内哥谈技术1 小时前
苏黎世联邦理工学院与加州大学伯克利分校推出MaxInfoRL:平衡内在与外在探索的全新强化学习框架
大数据·人工智能·语言模型