游乐游手机版
首页/AI热点日报/热点详情

Dify集成高德地图API位置检索实现方法

类型:热点整理2026-06-27
在Dify中集成高德地图API需先申请Web服务类型Key并设置IP白名单,通过环境变量或配置文件安全存储。注册MCP服务时确保SSE端点可用且服务器标识符匹配。工作流调用around_search工具,location参数需传入经纬度,否则需先调geocode转换坐标。

许多开发团队在尝试将地图能力集成到 Dify 时,都会遇到一个核心难题——如何让大模型在回答“附近有什么咖啡馆”这类问题时,不编造虚假信息,而是真正调用高德地图接口获取真实数据。解决这一问题的关键,在于安全地将高德地图 API 挂载到 Dify 工作流中。虽然整体流程并不复杂,但若忽略几个细节,很容易踩坑。以下梳理出完整的接入路径,帮助你顺利完成配置。

申请高德地图 API Key 并配置应用权限

首先登录高德开放平台,使用个人或企业账号进入控制台,找到“我的应用”,创建一个新应用。应用名称可任意填写,例如“Dify-POI-Service”,但有一个关键点需要特别注意——类型必须选择“Web服务”,其他平台选项保持空白。如果后续服务器部署在阿里云轻量应用服务器上,还需提前将该服务器的公网 IP 添加到 IP 白名单中,否则调用接口时会直接返回 INVALID_USER_IP 错误。

创建完成后,进入应用详情页,点击“显示”即可看到 Key 值,建议立即复制并妥善保存。这个 Key 是后续所有地图服务的“通行凭证”,一旦泄露,API 可能被恶意盗刷,造成不必要的资源浪费和安全隐患。

配置 Dify 环境变量与 MCP 服务端点

有两种方式可以将 Key 安全地注入到 Dify 中。

第一种:通过环境变量注入(推荐使用)。在 Dify 部署服务器上执行 echo "AMAP_API_KEY=your_actual_key_here" | sudo tee -a /etc/environment,然后重启 Dify 服务使其生效。

第二种:直接写入 Dify 的配置文件。编辑 dify/config.py.env,添加一行 AMAP_API_KEY=your_actual_key_here——注意不要加引号,也不要包含多余空格。

重要提醒:千万不要在前端代码、提示词或工作流节点中硬编码这个 Key。一旦页面被审查或日志泄露,密钥就会失效,甚至可能导致资产损失。

注册高德地图 MCP 服务为 Dify 工具

首先确认 MCP 服务已经运行正常。例如,你部署了基于 Node.js 或 Python 的 amap-mcp,它的 SSE 端点必须能够正常访问,类似 https://your-domain.com/mcp/sse,并且状态码返回 200。

然后进入 Dify 管理后台,依次点击「设置」→「工具」→「MCP」→「添加 MCP 服务」,填写三项内容:

• 服务 URL:就是上述的 https://your-domain.com/mcp/sse,注意必须以 /sse 结尾。

• 自定义名称:例如“高德地图 POI 检索”。

• 服务器标识符:必须填写 amap-poi-v3,该值需与 MCP Server 返回的 server_id 严格一致,否则授权会失败。

提交后等待状态指示灯变绿,点击「刷新工具列表」,你应该能看到三个已注册的工具:around_searchgeocoderegeocode,每个工具的参数说明也会同步显示。

在工作流中调用高德地图 POI 检索

新建一个 Dify 工作流,拖入一个「MCP 工具调用」节点,选择「高德地图 POI 检索」→「around_search」。

参数配置如下:

• location:此字段需填入动态变量 {{user_location}}。需要上游节点从用户输入或设备获取经纬度,格式必须为 116.481488,39.990464 这样的坐标对。

• keywords:设置为 {{query_keywords}},例如用户说“奶茶店”,此处就传入“奶茶”。

• radius:固定填写 500,单位为米。这个值可以限制返回结果数量,避免大模型解析超时。

操作上只需将三个参数连接到上游节点的输出端口,并不复杂。但有一个常见陷阱:如果 location 传入的是城市名称而非经纬度坐标,around_search 会直接返回空结果。因此,必须先调用 geocode 工具,将地址转换为坐标。

最后,再接入一个「LLM 回复」节点,提示词中明确写道:“根据以下 POI 列表,用中文口语化总结前 3 家最相关的店铺,包含名称、距离和简要特征,不要输出 JSON。”

来源:https://www.php.cn/faq/2712744.html?uid=1589237

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。