解决Dify1.5版本以上无法下载文件问题

一、添加开始节点,支持上传文件

开始节点,添加变量,字段类型选单文件或多文件,文件类型选文档(可以是其他类型)。
接入文档提取器,设置好入参,接入llm。
在这里插入图片描述

二、添加一个可以生成文件的插件

我这里用的是 Markdown转换器,输入变量是前一个节点LLM输出的Markdown文本。

注意:

  1. 不需要让模型输出 “markdown\n ……”,需要是纯Markdown文本,这一步需要提前调试好prompt。例如:请只输出纯markdown文本内容,不要包含任何代码块标记(如markdown),不要输出多余的解释说明。
  2. 我是使用Markdown转换器的转成xlsx功能,所以llm要输出表格形式。根据插件的输入变量要求传入合适的文本,这个也需要在prompt调试好,不然插件会报错。

在这里插入图片描述

三、添加代码执行

传入上一步生成的结果(Array[File]),变量名和代码中保持一致,替换代码中的base_url为自己的Dify地址。

在这里插入图片描述

完整代码:

def main(files: list) -> dict:
    if not files or len(files) == 0:
        return {"result": "没有可用的文件"}
    file_info = files[0]
    file_url = file_info.get("url", "")
    # 构建完整URL(替换为您的Dify服务器地址)
    base_url = "http://localhost"
    full_url = base_url + file_url
    file_link = f"[点击下载]({full_url})"
    return {
        "result": file_link
    }

四、添加直接回复

回复中为代码执行的输出结果变量,到这里就结束了,也可以把llm输出的结果展示出来再跟下载按钮。
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值