AIGC宇宙 AIGC宇宙

基于 Spring AI + MCP + DeepSeek-R1-7B 构建企业级智能 Agent 工具调用系统

作者:编程疏影
2025-04-21 04:22
在大模型 Agent 发展浪潮下,如何通过模型驱动外部工具调用(Tool Calling)已成为构建智能业务系统的关键能力。 本文将手把手带你通过 Spring AI MCP(Model Context Protocol) DeepSeek-R1-7B 打造一个可落地的企业级智能 Agent。 项目背景与架构设计技术选型Spring AISpring 官方推出的 AI 接入框架,支持 LangChain、MCP、RAG 等能力;MCP(Model Context Protocol)模型与工具之间通信的协议桥梁;DeepSeek-R1-7B国产高性能开源大模型,已支持 Chat Completion、Tool Calling 接口;Ragflow用作 RAG 架构引擎(可选);系统功能用户向模型提问模型判断是否调用工具(如数据库查询)MCP 注册的工具服务完成任务模型生成最终响应环境准备安装依赖复制本地部署 DeepSeek-R1-7B 模型推荐使用 vLLM 启动 DeepSeek-R1-7B 模型服务:复制构建 Spring AI MCP 工具服务示例业务:产品信息查询复制注册 MCP 工具复制模型端配置(Ragflow 示例)在 ragflow.config.yaml 中配置模型地址及 MCP 工具启用:复制前端调用(可选)复制测试效果用户输入:复制输出结果:复制模型会自动触发 query-product 工具,无需用户指定,展示 Agent 工具能力。

在大模型 Agent 发展浪潮下,如何通过模型驱动外部工具调用(Tool Calling)已成为构建智能业务系统的关键能力。本文将手把手带你通过 Spring AI + MCP(Model Context Protocol)+ DeepSeek-R1-7B 打造一个可落地的企业级智能 Agent。

项目背景与架构设计

技术选型

  • Spring AISpring 官方推出的 AI 接入框架,支持 LangChain、MCP、RAG 等能力;
  • MCP(Model Context Protocol)模型与工具之间通信的协议桥梁;
  • DeepSeek-R1-7B国产高性能开源大模型,已支持 Chat Completion、Tool Calling 接口;
  • Ragflow用作 RAG 架构引擎(可选);

系统功能

  • 用户向模型提问
  • 模型判断是否调用工具(如数据库查询)
  • MCP 注册的工具服务完成任务
  • 模型生成最终响应

环境准备

安装依赖

复制
# Spring Boot 项目依赖
spring-boot-starter
spring-ai-spring-boot-starter

# MCP 依赖
spring-ai-mcp-starter

本地部署 DeepSeek-R1-7B 模型

推荐使用 vLLM 启动 DeepSeek-R1-7B 模型服务:

复制
pip install vllm

python -m vllm.entrypoints.openai.api_server \
    --model deepseek-ai/deepseek-llm-7b-chat \
    --tokenizer deepseek-ai/deepseek-llm-7b-chat \
    --port 8000

构建 Spring AI MCP 工具服务

示例业务:产品信息查询

复制
@Service
public class ProductService {


    @Tool(name = "query-product", description = "根据产品ID获取产品信息")
    public String getProductById(@ToolParam(description = "产品ID") String id) {
        // 模拟数据库查询
        return "产品ID:" + id + ",价格:99 元";
    }
}

注册 MCP 工具

复制
@Configuration
public class MCPToolConfig {


    @Bean
    public ToolCallbackProvider toolCallbackProvider(ProductService productService) {
        return MethodToolCallbackProvider.builder()
            .toolObjects(productService)
            .build();
    }


    @Bean
    public AiServices aiServices(OpenAiChatClient client, ToolCallbackProvider provider) {
        return new AiServices(client, provider);
    }
}

模型端配置(Ragflow 示例)

在 ragflow.config.yaml 中配置模型地址及 MCP 工具启用:

复制
llm:
type: openai
openai_api_base: http://localhost:8000/v1
openai_api_key: sk-no-need
model_name: deepseek-chat
tool_choice: auto

agent:
name: deepseek-agent
mcp:
    enabled:true
    tool_autoload:true
    servers:
      -id: product-mcp
        command: java
        args:["-jar","spring-mcp.jar"]
        description:"产品信息查询服务"

前端调用(可选)

复制
<form id="askForm">
  <input type="text" name="query" placeholder="请输入问题"/>
  <button type="submit">提交</button>
</form>
<script>
  document.getElementById('askForm').onsubmit=asyncfunction(e){
    e.preventDefault();
    const query = e.target.query.value;
    const resp =awaitfetch('/agent/ask',{
      method:'POST',
      headers:{'Content-Type':'application/json'},
      body:JSON.stringify({ query })
    });
    const result =await resp.text();
    alert(result);
}
</script>

测试效果

用户输入:

复制
查询产品ID为 123 的信息

输出结果:

复制
产品ID:123,价格:99 元

模型会自动触发 query-product 工具,无需用户指定,展示 Agent 工具能力。

总结与实践建议

模块

技术

说明

模型推理

DeepSeek-R1-7B

Tool Calling 支持良好

工具服务

Spring AI MCP

快速构建工具 API

调度管理

Ragflow

可选,增强上下文能力

推荐实践:

  • 将 MCP 工具封装为微服务,提高可复用性
  • 使用数据库、搜索引擎作为 Agent 工具数据源
  • 在企业应用中使用 Spring Boot + MCP 拓展模型业务边界
相关标签:

相关资讯

十大步骤详解Spring AI MCP机制底层实现,小白误入!

MCP分为MCP Client和MCP Server:MCP Client负责进行工具发现和工具调用MCP Server负责提供工具和工具执行总体流程图图片十大步骤详解第一步,MCP Client接收用户的问题,比如“今天是几月几号”。 第二步,MCP Client发送tools/list请求给MCP Server进行工具发现。 利用Spring AI开发的MCP Server,可以利用@Tool注解定义工具,比如:图片并利用MethodToolCallbackProvider提供出去:在MCP Server的MpcServerAutoConfiguration自动配置类中定义了一个McpSyncServer的Bean,它会依赖注入ListToolCallbackProvider,这样McpSyncServer中就拿到了MCP Server中定义的所有Tools(调用ToolCallbackProvider的getToolCallbacks()即可拿到)。
4/11/2025 9:01:37 AM
IT周瑜

Manus平替方案:用DeepSeek+MCP Server构建AI自主工作流

前言在AI技术日新月异的今天,我们正见证着LLM(大语言模型)从"能说会道"向"能工巧匠"的进化。 当Anthropic推出Model Context Protocol(MCP)时,它像一道闪电划破夜空——这个被称作AI界的USB-C的协议,正在重新定义人机协作的边界。 作为一个沉迷于技术探索的开发者,我始终在寻找让AI真正"落地"的方法。
4/16/2025 3:22:51 PM
后端小肥肠

重磅开源!基于 Spring Boot 的企业级 DeepSeek 知识库与智能对话方案

本项目基于 Spring Boot 3.4 构建,旨在打造一款高效、智能的企业级知识库与智能对话平台,充分集成 DeepSeek 大语言模型,以支持企业级私有化部署和智能客服应用。 项目目标该方案通过整合 DeepSeek 强大的自然语言处理能力,实现高效、精准的对话交互,同时支持企业知识库的管理,助力企业构建智能化的客户支持与内部知识共享体系。 技术架构后端基于 Spring Boot 3.4 开发,提供 RESTful API 以处理业务逻辑,并与 DeepSeek 模型进行高效交互。
3/7/2025 7:57:56 AM
路条编程