Bootstrap

SpringAI 实战教程:5 步搭建智能对话系统(附完整代码)

一、环境准备
安装 Java 开发环境 :确保你的计算机上安装了 Java Development Kit(JDK),推荐使用 JDK 17 或更高版本。你可以通过在终端或命令提示符中输入 “java -version” 来检查是否已安装以及安装的版本。
安装 Maven :Maven 是一个项目管理和构建工具,用于管理项目的依赖和构建过程。从 Maven 官方网站下载适合你操作系统的版本,并按照安装说明进行安装。安装完成后,同样可以通过在终端或命令提示符中输入 “mvn -v” 来验证是否安装成功。
创建项目 :使用 Maven 命令 “mvn spring -init” 创建一个新的 Spring Boot 项目。在创建过程中,选择合适的项目参数,如 GroupId、ArtifactId、Java 版本等。创建完成后,你将得到一个包含基本项目结构的 Maven 项目。
二、引入 SpringAI 依赖
在项目的 pom.xml 文件中,添加 SpringAI 的依赖。以下是示例代码:

<dependencies>
    <dependency>
        <groupId>org.springframework.ai</groupId>
        <artifactId>spring-ai-core</artifactId>
        <version>1.0.0</version>
    </dependency>
    <!-- 其他依赖 -->
</dependencies>

添加完依赖后,执行 Maven 的 “mvn clean install” 命令来下载并安装依赖。
三、配置 AI 模型
SpringAI 支持多种 AI 模型,如 OpenAI、Hugging Face 等。在这里,我们以 OpenAI 为例进行配置。首先,你需要在 OpenAI 官方网站上注册一个账号,并获取 API 密钥。然后,在项目的 application.yml 或 application.properties 文件中,添加以下配置:

spring:
  ai:
    openai:
      api-key: your-api-key
      model: text-davinci-003

将 “your-api-key” 替换为你实际的 API 密钥,以及根据需要选择合适的模型。
四、编写对话系统代码
创建一个服务类 :用于处理对话逻辑。以下是一个示例代码:


import org.springframework.ai.openai.chat.ChatMessage;
import org.springframework.ai.openai.chat.ChatRole;
import org.springframework.ai.openai.chat.ChatService;
import org.springframework.stereotype.Service;

import java.util.Arrays;
import java.util.List;

@Service
public class ChatService {

    private final ChatService chatService;

    public ChatService(ChatService chatService) {
        this.chatService = chatService;
    }

    public String generateResponse(String input) {
        List<ChatMessage> messages = Arrays.asList(
            new ChatMessage(ChatRole.USER, input)
        );
        return chatService.chat(messages).getContent();
    }
}

创建一个控制器类 :用于接收用户的请求并返回对话结果。示例代码如下:


import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/chat")
public class ChatController {

    private final ChatService chatService;

    public ChatController(ChatService chatService) {
        this.chatService = chatService;
    }

    @PostMapping
    public String chat(@RequestBody String input) {
        return chatService.generateResponse(input);
    }
}

五、运行与测试
运行项目 :使用 Maven 命令 “mvn spring -run” 或在 IDE 中运行主应用程序类来启动项目。
测试对话系统 :打开浏览器或使用 Postman 等工具,向 “http://localhost:8080/chat” 发送一个 POST 请求,请求体中包含你想要与对话系统交流的内容。例如,发送 “{“input”: “你好,你能帮我什么?”}”,你将收到对话系统的回复。

通过以上 5 个步骤,你就成功搭建了一个基于 SpringAI 的简单智能对话系统。当然我们实际企业级开发中使用SpringAI是不大够的,目前我们在用JBoltAI SpringBoot版,大模型对接类工作都封装好了,直接可以用,已经集成了知识库、思维链等一系列高级应用。

;