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

开始节点,添加变量,字段类型选单文件或多文件,文件类型选文档(可以是其他类型)。
接入文档提取器,设置好入参,接入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输出的结果展示出来再跟下载按钮。
在这里插入图片描述

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐