Token导航 LogoToken导航TokenDH.com
Spring AI Poc logo
运维云端未说明官方级别未说明来源级核验

Spring AI Poc

MCP Server

一个基于Spring Boot 3.4的REST服务,通过Spring AI与OpenAI集成,允许用户通过自然语言查询SpaceX API数据,并提供AI代理集成功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Spring Boot自然语言处理Java

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

davittatenkohayrapetyan

提供方

davittatenkohayrapetyan

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

SpaceX AI-Spring Boot REST服务

Spring Boot 3.4 REST服务,使用Spring AI和OpenAI查询公共SpaceX API(https://docs.spacexdata.com/)通过自然语言提示。该服务公开了REST端点,并包括一个用于AI代理的MCP(模型上下文协议)工具服务器。

特性

  • 🚀 使用Java 17的Spring Boot 3.4
  • 🤖 Spring AI与OpenAI集成(默认模型:gpt-4o-mini)
  • 📡 SpaceX API发射台、火箭、飞船和发射台客户
  • 💬 通过自然语言界面 /ask 端点
  • 🔌 用于AI代理集成的MCP工具服务器
  • 🐳 Docker和Docker Compose支持
  • ✅ 单元测试

建筑

┌─────────────────┐
│   User/Agent    │
└────────┬────────┘
         │
         ▼
┌─────────────────────────────────────────┐
│          Spring Boot Application        │
│                                         │
│  ┌─────────────┐    ┌──────────────┐  │
│  │ /ask        │───▶│ OpenAI via   │  │
│  │ endpoint    │    │ Spring AI    │  │
│  └─────────────┘    └──────┬───────┘  │
│                             │          │
│                             ▼          │
│                     ┌────────────────┐ │
│                     │ Tools/Services │ │
│                     │ (Functions)    │ │
│                     └────────┬───────┘ │
│                              │         │
│                              ▼         │
│                     ┌────────────────┐ │
│                     │ SpaceX Client  │ │
│                     └────────┬───────┘ │
└──────────────────────────────┼─────────┘
                               │
                               ▼
                    ┌─────────────────┐
                    │  SpaceX API     │
                    │  (public)       │
                    └─────────────────┘

先决条件

  • Java 17或更高版本
  • Maven 3.8+
  • Docker和Docker Compose(可选,用于容器化部署)
  • OpenAI API密钥(从https://platform.openai.com/)

快速开始

1.克隆存储库

git clone https://github.com/davittatenkohayrapetyan/spring-ai-poc.git
cd spring-ai-poc

2.设置环境变量

创建一个 .env 模板中的文件:

cp .env.example .env

编辑 .env 并添加您的OpenAI API密钥:

OPENAI_API_KEY=your-actual-api-key-here

3.使用Maven运行

# Build the project
mvn clean package

# Run the application
export OPENAI_API_KEY=your-api-key
mvn spring-boot:run

# OR use the convenience script
export OPENAI_API_KEY=your-api-key
./run.sh

4.使用Docker Compose运行

# Build and run
docker-compose up --build

# Run in detached mode
docker-compose up -d

# Stop the services
docker-compose down

API终点

快速测试

您可以运行包含的测试脚本来试用API:

# Make sure the application is running first
./test-api.sh

健康检查

curl http://localhost:8080/api/health

答复:

{ "status": "UP" }

询问端点(自然语言查询)

发送关于SpaceX的自然语言问题,以获得人工智能的回应:

curl -X POST http://localhost:8080/api/ask \
  -H "Content-Type: application/json" \
  -d '{
    "question": "What is the latest SpaceX launch?"
  }'

示例响应:

{
  "question": "What is the latest SpaceX launch?",
  "answer": "The latest SpaceX launch was..."
}

配置

应用程序属性(src/main/resources/application.yml):

spring:
  ai:
    openai:
      api-key: ${OPENAI_API_KEY}
      chat:
        options:
          model: gpt-4o-mini
          temperature: 0.7
          max-tokens: 4096

spacex:
  api:
    base-url: https://api.spacexdata.com/v4

SpaceX API集成

该应用程序提供了一个从公共SpaceX API获取数据的REST客户端(https://api.spacexdata.com/v4).

  • 发布:所有、即将发布、过去、最新、下一个,按ID
  • 火箭:全部或按ID
  • 船舶:全部或按ID
  • 发射台:全部或按ID

MCP工具服务器

如果需要,请单独运行MCP服务器:

java -jar target/spacex-ai-1.0.0-SNAPSHOT.jar \
  --spring.main.web-application-type=none

服务器通过JSON-RPC在stdin/stdout上进行通信。

项目结构

spring-ai-poc/
├── src/
│   ├── main/
│   │   ├── java/com/spacex/ai/
│   │   │   ├── SpacexAiApplication.java
│   │   │   ├── client/
│   │   │   │   └── SpaceXClient.java
│   │   │   ├── config/
│   │   │   │   └── SpaceXFunctionConfiguration.java
│   │   │   ├── controller/
│   │   │   │   └── SpaceXAiController.java
│   │   │   ├── mcp/
│   │   │   │   ├── McpServerApplication.java
│   │   │   │   └── McpToolServer.java
│   │   │   ├── model/
│   │   │   └── service/
│   │   └── resources/
│   │       └── application.yml
│   └── test/
│       └── java/com/spacex/ai/
│           ├── client/
│           │   └── SpaceXClientTest.java
│           └── controller/
│               └── SpaceXAiControllerTest.java
├── Dockerfile
├── docker-compose.yml
├── pom.xml
├── .env.example
├── .gitignore
└── README.md

使用的技术

  • 弹簧靴3.4
  • 春季AI 1.0.3
  • OpenAI(gpt-4o-mini)
  • 春季WebFlux
  • 杰克逊
  • JUnit5,模拟Web服务器
  • Maven、Docker

故障排除

  • 验证OPENAI_API_KEY已导出且有效
  • 检查与SpaceX API的连接: curl https://api.spacexdata.com/v4/launches/latest
  • 使用 docker-compose logs 用于容器日志
  • Apple Silicon(M1/M2/M3):如果在构建镜像时看到“清单中的平台不匹配”错误,请更新到最新的Docker Desktop。此项目现在使用多拱形基础图像。作为解决方法,您还可以强制平台:
# Build locally forcing linux/arm64
DOCKER_DEFAULT_PLATFORM=linux/arm64 docker-compose build --no-cache

# Or for x86 emulation (slower):
DOCKER_DEFAULT_PLATFORM=linux/amd64 docker-compose build --no-cache

资源

  • Spring AI文档:https://docs.spring.io/spring-ai/reference/
  • OpenAI API:https://platform.openai.com/docs
  • SpaceX API:https://github.com/r-spacex/SpaceX-API
  • 模型上下文协议:https://modelcontextprotocol.io/

许可证

这个项目是开源的,可以在MIT许可证下使用。

目录标签

目录标签

Spring Boot自然语言处理JavaSpringBoot本地部署REST服务AI集成SpaceXAPI

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP