以下是基于 Spring AI 和 MCP(Model Context Protocol)调用 DeepSeek 大模型接口的完整实现方案,结合企业级开发实践总结的步骤与优化建议:


一、环境准备与依赖配置

1. 核心依赖引入

pom.xml 中添加 Spring AI MCP 模块及 DeepSeek 支持:

<dependency>
  <groupId>org.springframework.ai</groupId>
  <artifactId>spring-ai-mcp-server-webmvc-spring-boot-starter</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.ai</groupId>
  <artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>
<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-bom</artifactId>
                <version>1.0.0-SNAPSHOT</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>io.modelcontextprotocol.sdk</groupId>
                <artifactId>mcp-bom</artifactId>
                <version>0.9.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
<repositories>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
        <repository>
            <name>Central Portal Snapshots</name>
            <id>central-portal-snapshots</id>
            <url>https://central.sonatype.com/repository/maven-snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

需确保 Spring Boot 版本 3.4.4,Spring AI 1.0.0-SNAPSHOT,JDK17,mcp0.8.1。

2. 云端调用则直接配置 API 密钥。


二、模型端配置与调用

1. DeepSeek 连接配置

application.yml 中设置模型地址和 MCP 启用:

spring:
  ai:
    deepseek:
      api-key: sk-your-api-key
      base-url: https://api.deepseek.com
    mcp:
      enabled: true
      tool-autoload: true

支持 SSL 加密和连接池优化。

2. 接口调用示例

通过 ChatController 发起请求:

@RestController
public class ChatController {

    private final OpenAiChatModel chatModel;

    @Autowired
    public ChatController(OpenAiChatModel chatModel) {
        this.chatModel = chatModel;
    }

    @GetMapping("/ai/generate")
    public Map generate(@RequestParam(value = "message", defaultValue = "给我讲个笑话。") String message) {
        return Map.of("generation", this.chatModel.call(message));
    }

    @GetMapping("/ai/generateStream")
    public Flux<ChatResponse> generateStream(@RequestParam(value = "message", defaultValue = "给我讲个笑话。") String message) {
        Prompt prompt = new Prompt(new UserMessage(message));
        return this.chatModel.stream(prompt);
    }
}


三、测试与验证

1. 请求示例

GET http://localhost:8080/ai/generate

响应结果
在这里插入图片描述


总结

通过 Spring AI + MCP + DeepSeek 的整合,开发者能快速构建支持工具调用的智能 Agent 系统。关键路径包括:工具定义→协议注册→模型适配→安全管控。建议参考官方文档进行灰度发布和混沌测试,确保企业级稳定性。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐