开启左侧

dify调用--mcp工具

[复制链接]
gnxhxbozd 发表于 3 小时前 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
作者:CSDN博客
Mcp工具--agent策略函数区别

Function Calling

通过将用户指令映射到预定义函数或工具,LLM 先识别用户意图,再决定调用哪个函数并提取所需参数。它的核心是调用外部函数或工具,属于一种明确的工具调用机制。优点:
    精确: 对于明确的任务,可以直接调用相应的工具,无需复杂的推理过程。易于集成外部功能: 可以将各种外部 API 或工具封装成函数供模型调用。结构化输出: 模型输出的是结构化的函数调用信息,方便下游节点处理。
ReAct (Reason + Act)

ReAct 策略使 Agent 交替进行思考和行动:LLM 首先思考当前状态和目标,然后选择并调用合适的工具,工具的输出结果又将引导 LLM 进行下一步的思考和行动,如此循环,直到问题解决
python构建虚拟环境--uv安装(适配mcp)
  1. uv工具安装
  2. pip install uv
  3. #使用创建文件夹
  4. uv init dify_mcp_tool
  5. # 进入项目目录
  6. cd dify_mcp_tool
  7. # 创建虚拟环境(3.8-3.10)--python.exe不指向conda
  8. uv venv dify_mcp_env --python 3.9
  9. # 激活环境
  10. dify_mcp_env\Scripts\activate.bat
  11. 初始化 pyproject.toml文件--uv add安装报错没有的话
  12. uv init
  13. # 查看 uv 可管理的 Python 版本
  14. uv python list
  15. # 安装依赖--镜像,python3.10对应
  16. uv add "mcp[cli]" httpx --index-url https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
python代码
  1. from fastmcp import FastMCP
  2. from datetime import datetime
  3. # 初始化 MCP 实例
  4. mcp = FastMCP(name="查询服务器信息MCP")
  5. # -------------------------- 核心 MCP 工具函数 --------------------------
  6. @mcp.tool(
  7.     description="知识库更新。"
  8.                 "从 Oracle 数据库查询设备和变电站信息,导出为 CSV 保存到本地,并自动上传到 Dify 知识库。"
  9.                 "默认查询 T1211_DEVICE、T0015_VOLTAGELEVEL、T0003_STATION、T0016_BASEVOLTAGE 关联表,"
  10.                 "包含设备ID、设备描述、设备类型、电压等级、变电站编号、变电站描述、基准电压等字段。"
  11.                 "支持自定义查询SQL(需包含上述核心字段以确保知识库数据完整性)。"
  12. )
  13. async def get_system_time():
  14.     #xxxxxx
  15. #示例
  16. '''
  17. @mcp.tool(
  18.     name="get_system_time",
  19.     description="获取当前系统的时间和日期"
  20. )
  21. async def get_system_time():
  22.     current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
  23.     print(current_time)
  24.     return {
  25.         "status": "success",
  26.         "data": {"system_time": current_time},
  27.         "message": "当前系统时间获取成功"
  28.     }'''
  29. mcp.run(transport="sse", host="0.0.0.0", port=8123)
复制代码
dify配置--agent策略

dify调用--mcp工具-1.png


调用结果
dify调用--mcp工具-2.png


输出
dify调用--mcp工具-3.png


dify调用--mcp工具-4.png



原文地址:https://blog.csdn.net/moriatygirl/article/details/155094209
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
阅读排行更多+

Powered by Discuz! X3.4© 2001-2013 Discuz Team.( 京ICP备17022993号-3 )