订单聊天演示 — 使用方法
该项目运行两个Spring Boot服务:
- orders-app(服务器):提供一个REST端点以列出订单,并提供一个客户端可以调用的MCP工具。
- 订单聊天客户端(客户端):提供一个/chat端点;将您的提示发送给大型语言模型(LLM),并在有帮助时调用服务器的MCP工具。
本README仅关注如何运行和使用该应用程序(不包含Java代码)。
______________________________________________________________________
先决条件
- Docker 和 Docker Compose(假设为 Compose v3.9 文件)。
- 可选:如果需要用于健康检查的 /actuator/health,服务器上需安装 Spring Boot Actuator。
______________________________________________________________________
启动堆栈
- 从仓库根目录构建并运行:
docker compose up --build -d
- 验证容器:
docker compose ps docker compose logs -f orders-app docker compose logs -f orders-chat-client
注意:在 Compose v3.9 中,depends_on 不会等待就绪。如果客户端启动过早,请先启动服务器或在客户端入口点添加一个简单的等待。
______________________________________________________________________
使用服务
- 直接从服务器(REST)列出订单:
在浏览器或任何HTTP客户端(例如,http://localhost:8081/api/orders)中打开您的REST列表URL。
- 通过客户端与模型交谈:
发送一个POST请求到http://localhost:8080/chat,请求体为JSON格式,例如: 列出前10个订单 你应该收到一个包含“answer”的JSON响应,其中包含生成的回复。
______________________________________________________________________
停下来并清理干净
- 停止容器:docker compose down
- 停止并移除卷:docker compose down -v
______________________________________________________________________
故障排除
- 客户端无法连接到服务器?在Docker中使用服务名称(orders-app),而不是localhost。
- 客户端在服务器准备就绪之前启动(v3.9)?请先启动服务器,或者添加一个简单的等待循环,以便客户端重试直到服务器响应。
- 在 /actuator/health 上出现 404 错误?请在服务器上添加 Actuator 依赖或使用您自己的健康检查端点。
- 主机端口冲突?请更改docker-compose.yml中的发布端口。
