
Developing a Spring AI Enhanced Restaurant Booking System Employing an API-first Approach

2025.04.14
0
Java餐厅预订聊天机器人LLM 集成内容生成开发效率
spring-ai-resos 是一个基于 Spring Boot 和 Spring AI 的多模块项目,旨在通过 API 优先的方法开发一个增强的餐厅预订系统。该项目结合了 OpenAPI 生成的客户端代码和 Spring AI 实现,包括一个 MCP 服务器、MCP 客户端配置以及一个独立的 ReactJS 驱动的聊天机器人 UI。核心功能包括餐厅搜索和预订、与 LLM 提供商的集成(如 OpenAI、Groq Cloud、OpenRouter),以及通过聊天机器人进行交互。
View on GitHub
Overview
基本能力
产品定位
spring-ai-resos 是一个基于 Spring Boot 和 Spring AI 的餐厅预订系统,旨在通过 API 优先的方法提供增强的餐厅搜索和预订功能。
核心功能
- 餐厅搜索和预订:通过与 ResOS API 的集成,提供餐厅搜索和预订功能。
- LLM 集成:支持与多种 LLM 提供商(如 OpenAI、Groq Cloud、OpenRouter)的集成,用于增强聊天机器人功能。
- MCP 服务器和客户端:提供 MCP 服务器和客户端配置,支持与 Claude Desktop 的集成。
- 聊天机器人 UI:提供一个独立的 ReactJS 驱动的聊天机器人 UI,用于与用户交互。
适用场景
- 餐厅预订:用户可以通过聊天机器人搜索餐厅并预订座位。
- 开发集成:开发者可以将该项目的模块集成到自己的应用中,以增强功能。
- LLM 实验:开发者可以通过该项目实验不同的 LLM 提供商的功能。
工具列表
- MCP 服务器:用于与 Claude Desktop 集成,提供工具调用功能。
- MCP 客户端:配置用于与 LLM 提供商交互的客户端。
- 聊天机器人 UI:提供用户交互界面。
常见问题解答
- 如何获取 API 密钥:需要从 ResOS 或 LLM 提供商(如 OpenAI、Groq Cloud、OpenRouter)获取 API 密钥。
- 如何运行后端:需要先启动后端模块,除非你是餐厅经营者并拥有有效的 ResOS API 密钥。
- 如何配置聊天机器人:需要在
creds.yml
文件中添加 API 密钥。
使用教程
使用依赖
- Git CLI (2.43.0 或更高版本)
- Github CLI (2.65.0 或更高版本)
- httpie CLI (3.2.2 或更高版本)
- Java SDK (21 或更高版本)
- Maven (3.9.9 或更高版本)
- LLM 提供商账户(如使用公共云或商业托管模型)
安装教程
- 克隆项目
bash git clone https://github.com/pacphi/spring-ai-resos
或bash gh repo clone pacphi/spring-ai-resos
- 构建项目
bash cd spring-ai-resos mvn clean install
调试方式
- 启动后端
bash cd backend mvn clean spring-boot:run -Dspring-boot.run.profiles=dev -Dspring-boot.run.jvmArguments="--add-opens java.base/java.net=ALL-UNNAMED"
- 启动 MCP 服务器
bash cd mcp-server export RESOS_API_ENDPOINT=http://localhost:8080/api/v1/resos mvn spring-boot:run -Dspring-boot.run.profiles=cloud,dev
- 启动聊天机器人(以 OpenAI 为例)
bash cd mcp-client mvn spring-boot:run -Dspring-boot.run.profiles=openai,dev
访问 http://localhost:8081 查看聊天机器人界面。