各位精神股东, 在准备毕业设计时,是不是被大模型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
开始聊天吧!

效果如下

在这里插入图片描述

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐