很简单,最新Spring AI接入智谱大模型API
本文介绍了如何通过Spring Boot快速调用大模型API(以GLM-4为例),解决毕业设计中的技术难题。内容包括:1)开发环境准备(JDK17、VS Code);2)API密钥获取流程;3)项目初始化与配置(使用国内加速网站创建项目,修改pom.xml依赖);4)控制器编写(支持流式/非流式响应);5)前端测试页面集成。通过图文指引完成环境搭建到接口调用的全过程,最终实现本地对话应用。适合需要
各位精神股东, 在准备毕业设计时,是不是被大模型API调用折磨一天又一天。现在我们来看一看如何解决这个问题。推荐阅读时间3分钟
一、前期准备(新手必看)
1.1:开发环境
1.1.1:JDK17及以上版本(别用Java8 Spring Boot 3.4.x以上版本)
1.1.2:VScode(开源编辑工具可以满足需求),记得安装java相关插件,
在插件栏直接搜索java全部安装即可
1.2:准备API
1.2.1:新用户注册免费送token
1.2.2:注册或者登录完成之后,点击个人中心------>项目管理------>api keys,点击新建apikey。
1.3:项目初始化
1.3.1:点击国内加速网站 start.spring.io
1.3.2:点击网址之后跳转的页面,记得选择相关依赖

1.4:相关重要配置
1.4.1:项目结构如下
application.yml文件配置
记住api-key是你新建的api密钥
model可以根据自己的需求选择,我这里选择glm-4-plus
1.4.2:pom.xml文件的修改,记住把openai模型改成zhipuai
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-zhipuai</artifactId>
</dependency>
二、在demo文件夹下面创建一个controller文件夹并且创建ChatController.java
2.1:注意package根据你的项目名称而定
package com.example.demo.controller;
import java.util.Map;
import org.springframework.ai.chat.messages.UserMessage;
import org.springframework.ai.chat.model.ChatResponse;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.zhipuai.ZhiPuAiChatModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;
@RequestMapping("/chat")
@RestController
public class ChatController {
private final ZhiPuAiChatModel chatModel;
@Autowired
public ChatController(ZhiPuAiChatModel chatModel) {
this.chatModel = chatModel;
}
//这个方法就是使用非流式输出的方式来生成答案
@GetMapping("/ai/generate")
public Map generate(@RequestParam(value = "message") String message) {
return Map.of("generation", this.chatModel.call(message));
}
//这个方法就是使用流式输出的方式来生成答案
@GetMapping("/ai/generateStream")
public Flux<ChatResponse> generateStream(@RequestParam(value = "message",defaultValue = "What your name?") String message) {
var prompt = new Prompt(new UserMessage(message));
return this.chatModel.stream(prompt);
}
}
2.2.编写一个简单的前端页面测试一下吧
代码如下(示例):
前端代码地址:index.html
2.3.我胡,启动项目
找到DemoApplication.java然后点击Debug运行
项目启动成功
最后去浏览器输入http://localhost:8080/index.html
开始聊天吧!
效果如下

更多推荐
所有评论(0)