系统环境:
Linux 系统:Ubuntu 22.04.4 LTS
LTS Git 版本:git version 2.34.1
Docker 版本:28.0.1
Docker Compose 版本:2.33.1
dify版本:1.1.2
dify网址: http://IP (一般默认端口号是80)
一、简介
功能:借助 Dify 平台的 ChatFlow 工作流,实现高德天气查询功能。
步骤1:添加高德城市编码表作为知识库。此知识库如同精准的索引,能让查询迅速定位到目标城市。
步骤2:添加 HTTP 工作节点,接入高德天气查询 API 服务,构建起数据传输的桥梁。
步骤3:通过大语言模型(LLM)强大的处理能力,将用户输入转化为可执行的查询指令,获取相应城市的天气情况。
用dify平台的chatflow工作流实现添加知识库(高德 城市编码表)和添加http工作节点(高德
天气查询API服务),通过LLM实现天气查询的整个过程。
二、在 Dify 平台的 ChatFlow 工作流中添加知识库(高德 城市编码表)和 HTTP 工作节点(高德天气查询 API 服务基础 API 文档-开发指南-Web服务 API | 高德地图API)的具体操作步骤
1、添加知识库(高德 城市编码表)
- 登录 Dify 平台:http://IP (一般默认端口号是80)。
- 下载高德城市码表,添加到“adcode知识库”,参考dify工作流应用1—知识库搭建
3.知识库“召回测试”,测试成功,说明添加的文档被向量化。
4.配置知识库:设置知识库的名称、描述等信息、可见权限、索引模式、检索设置等,完成后保存。
2 用户在高德地图官网 申请 web 服务 API 类型 KEY
3 创建天气预报工作流
- 创建初始“天气预报查询”的工作流
- 整个天气预报工作流节点如下:“开始——知识检索——LLM大模型——参数提取器——HTTP——直接回复”
4 配置知识检索节点
查询变量选择“sys.query”,知识库添加“adcode”。
- sys.query:通常代表用户输入的查询内容,是触发知识检索、流程处理等操作的核心信息,工作流会基于此进行后续分析、处理和响应。
- sys.conversation_id:用于标识一次对话的唯一编号 。在多轮对话场景下,通过这个 ID 能关联起整个对话过程中的各个消息,方便系统记录对话上下文、状态等信息。
- sys.user_id:是用户在系统中的唯一身份标识 ,用于区分不同用户,便于系统针对不同用户进行个性化设置、记录用户偏好、权限管理等操作。
- sys.app_id:标识具体应用程序的编号 ,如果一个平台支持多个应用使用工作流功能,通过 app_id 可以明确该操作所属的应用,有助于资源分配、功能配置和管理。
- sys.workflow_id:是工作流的唯一标识符 ,用于区分不同的工作流。通过它可以对特定工作流进行配置、启动、监控等管理操作。
- sys.workflow_run_id:表示工作流某次运行的唯一编号 。一个工作流可能被多次触发运行,workflow_run_id 能帮助追踪每次运行的具体情况,比如记录运行时间、运行结果、中间状态等信息。
5 配置LLM大模型
模型:选择模型供应商配置的对应模型
上下文:选择“知识检索”
关键的SYSTEM里面,其实就是系统提示词,填入以下内容:根据用户输入和知识检索的结果 ,输出用户期望得到的adcode。只需要给出准确的adcode的值,禁止出现 “think” 相关内容。
其中在填写系统提示词时,在"用户输入"后,需要输入{,这时系统会提示变量;"知识检索结果"后,也同样输入{,根据系统提示,选择"上下文"。这里一定要按指导操作。
6 配置参数提取器
模型:选择模型供应商配置的对应模型
输入变量:LLM节点的输出变量“text”
提取参数名称:adcode
7 配置HTTP节点
API:https://restapi.amap.com/v3/weather/weatherInfo?parameters
PARAMS:
key:输入注册高德的key值
city: adcode
配置直接回复
三、预览工作流天气预报效果,成功后,点击发布