使用dify构建工作流请求服务接口

288 阅读3分钟

需求背景

通过AI聊天窗口,上传文件到cdn服务器,然后将文件地址作为参数发送请求到服务端接口,执行具体的业务逻辑操作。

流程

请求头设置

首先我们需要在工作流的全局变量中设置认证信息,如appId、appSecret或直接设置Cookie等等,用于和服务端接口交互时的认证,在http请求节点时使用,这里我们直接设置Cookie。

定义聊天输入的参数

在开始节点定义需要输入各参数,我们这里定义一个文件类型的参数,选择文件对应类型。

提取并确认文件内容(可选)

通过文档提取器节点,获取上传文件中的内容然后输出,通过一次LLM调用理解文件内容做二次确认,旨在有效规避因误选文件而导致的后续问题。

调用LLM提示词示例:

理解文档中的前XXX行内容,判断文档内容不为空# 输出格式正确 or 错误

文件上传到CDN服务器

通过http请求节点发送请求,header中引用变量中的Cookie

解析上传的返回结果

调用LLM解构http的返回结果,处理异常情况如登录失效等。将处理好的返回结果-文件url直接当调用参数供下一步使用。

LLM提示词示例:

判断调用http请求的返回结果,如果返回的结果中包含用户未登录或token失效等,提醒用户重新获取认证信息。如请求正常并且返回结果中包含fileUrl等字段,输出fileUrl地址(保持原始格式,以字符串形式)# 输出格式XXXX登录失效,请重新登录

发送请求到服务端接口

将LLM解构后的文件地址,以json的形式作为参数发送请求到服务端接口,注意设置请求头

整体应用流程

按如上步骤,我们就搭建好了一个工作流,如图:

调用调试

在运行中输入参数

在跟踪中查看每一个节点执行的过程信息及耗时

thanks