博客

  • 创建第一个Spring AI 工程

    1、在浏览器打开地址:

    https://start.spring.io

    这是 ​Spring Initializr 的官方地址,它是 Spring 官方提供的一个在线工具,支持通过可视化界面选择配置(如项目类型、语言、依赖等),生成一个可直接导入 IDE 的 Spring Boot 项目。

    没错,SpringAI工程也可以使用Springboot快速开发。

    2、生成代码框架

    按照下方截图所示,勾选对应选项,进行下载

    • Spring boot 版本3.5.0
    • Java 版本17
    • 引入Jar包,Spring Web,OpenAI

    下载后是一个zip文件,进行解压。

    3、导入idea

    打开idea,左上角的file–>open,选择刚刚解压后的文件夹

    4、修改配置

    1、常规项调整,maven,和jdk版本,

    我使用的是maven3.8.8,jdk17。

    2、调整Springboot版本号

    建议改成3.4.4版本,较为稳定

    5、配置大模型

    既然是AI工程,那么肯定是要用到大模型的。这里,我使用的是阿里的千问模型,

    在application.properties中配置Qwen模型的base-url,API Key,以及要使用的模型名称。

    spring.application.name=OneAiDemo
    spring.ai.openai.api-key=sk-xxx
    spring.ai.openai.base-url=https://dashscope.aliyuncs.com/compatible-mode
    spring.ai.openai.chat.options.model=qwen-plus

    6、编写Controller

    创建一个Controller类,调用对话工具。

    @RestController
    public class HelloController {
        private ChatClient chatClient;
    
        public HelloController(ChatClient.Builder builder) {
            this.chatClient= builder.build();
        }
        @GetMapping("/hello")
        public String hello(@RequestParam(value = "input", defaultValue = "讲一个冷笑话") String input) {
            return chatClient.prompt(input).call().content();
        }
    }

    然后启动项目,默认端口号8080。

    7、测试能否正确对话

    打开浏览器,访问地址:

    http\://localhost:8080/hello

    即可在页面上看到大模型输出的结果内容。

    8、流式输出

    上面已经可以正常看到大模型的输出结果,但它是一股脑儿的全部显示到页面上的。如果我们想要流式输出,也就是打印机的效果,那么需要调用chatClient的stream方法,如下:

        @GetMapping(value = "/hello/stream",produces ="text/html;charset=UTF-8")
        public Flux<String> helloStream(@RequestParam(value = "input", defaultValue = "讲一个冷笑话") String input) {
            return chatClient.prompt(input).stream().content();
        }

    重启项目后,在浏览器上访问地址:

    http://localhost:8080/hello/stream

    即可看到流式输出的打印机效果。

    至此,我们就已经搭建好了第一个Spring AI 工程!

  • 世界,您好!

    欢迎使用 WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧!