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就知道,那叫一个千奇百怪。

相关推荐
新之助小锅2 分钟前
java版连接汇川PLC,发送数据,读取数据,保持重新链接,适用安卓
android·java·python
沧澜sincerely4 分钟前
数据挖掘概述
人工智能·数据挖掘
数数科技的数据干货1 小时前
从爆款到厂牌:解读游戏工业化的业务持续增长道路
运维·数据库·人工智能
无糖冰可乐212 小时前
IDEA多java版本切换
java·ide·intellij-idea
合作小小程序员小小店2 小时前
web开发,在线%超市销售%管理系统,基于idea,html,jsp,java,ssh,sql server数据库。
java·前端·sqlserver·ssh·intellij-idea
brucelee1862 小时前
IntelliJ IDEA 设置 Local History 永久保留
java·ide·intellij-idea
amhjdx4 小时前
星巽短剧以科技赋能影视创新,构建全球短剧新生态!
人工智能·科技
Pluto_CSND4 小时前
Java中的静态代理与动态代理(Proxy.newProxyInstance)
java·开发语言
不光头强5 小时前
Spring框架的事务管理
数据库·spring·oracle
听风南巷5 小时前
机器人全身控制WBC理论及零空间原理解析(数学原理解析版)
人工智能·数学建模·机器人