Dify 一直致力于帮助开发者快速落地 AI 创意,无论是验证产品原型还是构建生产力工具,Dify Workflow 都是最佳选择。在最新的 v0.10.0 版本中,我们推出了备受期待的文件上传功能,使 Workflow 能够处理多种格式的文档和音视频,进一步拓展了 AI 应用开发的边界。
这一功能特别适合以下场景:
- 文档问答: 根据上传的文档中回答问题,并提供可靠来源。
- 报告摘要: 快速从冗长文档中提炼核心要点,生成总结。
- 表格处理: 在各类文档或电子表格中快速检索和处理特定内容。
更重要的是,文件上传功能为多模态 AI 应用铺平了道路。开发者现可轻松构建能理解和处理图片、音频、视频的复杂工作流,大幅提升应用的功能性和用户体验。
轻松上手文件上传功能
1. 直接开启文件上传
开启文件上传功能非常简单,只需打开功能列表中的文件上传开关(默认使用系统变量 sys.files )。用户可以直接通过对话框上传文件,且最新上传的文件将自动覆盖之前的文件。如果需要灵活管理上下文,开发者可以开启记忆功能。
2. 创建自定义变量
另一种方式是在开始节点创建自定义变量,支持单个或多个文件上传。设置完成后,用户界面将显示文件上传表单,后续对话和工作流处理将始终围绕上传的文件进行。
上传文件后,还需根据文件类型进行预处理,以便 LLM 有效理解和分析内容。 文档类文件(如 TXT、PDF、HTML 等)需在 Workflow 中使用文档提取器节点进行文本提取,将其转换为 LLM 可用的字符串变量。 音视频文件则需通过额外的工具进行编码处理,如音频转文本或视频关键帧提取。(值得一提的是,OpenAI 最新发布的 「gpt-40-audio-preview」 模型支持直接处理音频进行推理和对话,我们将在之后的版本迭代中适配这一功能。)
本次更新我们不仅新增了文档提取器和列表操作节点,分别用于文件的提取和筛选,还增强了大部分 Workflow 节点,详细信息请参阅帮助文档:
https://docs.dify.ai/zh-hans/guides/workflow/file-upload
使用文件上传快速打造 AI 播客
Google 最近推出的 AI 工具 NotebookLM,因为新增了「音频」功能,引起了不少关注。它能迅速分析长篇内容,提取关键信息,并生成类似播客的对话式语音摘要。这不仅省去了用户大量阅读时间,还能让他们更轻松地通过掌握内容要点。
接下来,我们将为你展示如何利用文件上传功能和相关节点,通过 Workflow 将文档转化为对话式 AI 播客,实现类似于 NotebookLM 的功能。
开始节点的参数配置
新建一个 Chatflow,在开始节点中,设置文件上传和定义关键变量(如语气、主持人、嘉宾和语言)。
- ** file : **选择「单文件」的字段类型,允许上传文档类型文件。
- ** tone :** 使用"下拉选项"类型,包括 Casaul(随意的)、Formal(正式的)、Humorous(幽默的)等选项,让用户自定义 AI 播客的交流风格。
- ** host_name : **选择「文本」类型,用于输入主持人名字。
- ** guest_name :** 选择「文本」类型,用于输入嘉宾名字。
- ** language : **使用"下拉选项"类型,提供中文、English、日本語等选项,方便用户选择播客的语言。
使用文件提取器与 LLM 节点生成播客脚本
文件上传成功后,文档提取器会提取变量 ***file ***中的文本,将非结构化数据转化为可处理的文本内容。接下来,提取的内容将通过三个 LLM 节点进行处理,逐步生成完整的播客脚本。
1. LLM 分析节点 (Analyze the Input)
分析提取的文本,提炼出播客所需的关键信息,包括重要的主题、故事点、数据等,为后续生成播客内容打下基础。
2. LLM 脚本生成节点 (Craft the Dialogue)
根据提取的内容及预设变量(如 tone、language、host_name 和 guest_name),生成自然流畅、个性化的播客对话脚本,确保主持人和嘉宾的互动符合设定的角色和风格。
3. LLM 总结节点 (Conclusion)
生成播客总结,通过主持人和嘉宾的对话复述关键点,确保总结部分为听众留下深刻印象,并带来一些思考或行动上的建议。
通过 LLM 节点的处理,我们得到了播客对话和总结的内容。
通过模版转换节点合并文本块
模板转换节点将各个 LLM 节点生成的部分内容整合成一个完整的输出,并转换为下游工具可用的统一格式。
- 输入:获取 Craft the Dialogue 和 Conclusion 两个 LLM 节点的文本片段,分别通过变量*** arg1*** 和 arg2 进行引用。
- 输出:将 *** arg1*** (对话内容)和 *** arg2*** (总结部分)进行合并,生成完整连贯的播客脚本,输出为字符串格式,方便后续工具处理。
播客音频生成器的配置与输出
在完成文本的合并后,脚本通过模版转换节点 output 变量传递到播客音频生成器,开始音频生成的最后阶段。
该工具根据文本脚本生成播客音频,开发者可选择主持人和嘉宾的声音(如 「Alloy」 和 「Shimmer」),以决定角色的声音效果。播客生成器将接收的完整脚本转换为音频文件,并提供下载。
通过以上步骤,你可以轻松掌握如何利用文件上传功能生成 AI 播客。我们还将这个应用制作成了模板,放置在探索页面,便于你快速上手并进一步探索更多功能。
其他你需要知道事
图片上传功能下线声明
1. 对于 Chatflow 应用:
在 v0.10.0 版本中,我们将原有的图片上传功能扩展为文件上传,使应用能够处理更多格式的文档和音视频文件。
- 图片上传功能已整合为文件上传的一部分。启用文件上传功能后,你可以通过 LLM 节点中的视觉变量选择器,选择 ***sys.file ***来引用聊天窗口中上传的图片等文件。
- 我们对旧版本的应用进行了兼容处理,确保之前版本中使用了图片上传功能的应用保持稳定性。
2. 对于 Workflow 应用:
- 我们建议在开始节点中自定义文件类型的变量,用于文件上传,处理更多类型的文件。
- 请注意:我们将在未来的版本中弃用旧版的图片上传功能以及系统变量 sys.file 。
详细信息请参阅帮助文档:
https://docs.dify.ai/zh-hans/guides/workflow/bulletin