Dify的聊天助手是没有文件上传功能的。
如果要在聊天窗口增加文件上传功能,需要用到Chatflow或者工作流,我下面以Chatflow为例,配置一个带文件上传功能的聊天窗口,我用的Dify版本是1.1.3。
首先创建一个空白应用:
选择Chatflow:
点击右上角的功能按钮,勾选文件上传,这样就能上传文件了。
由于本地部署的DeepSeek不能直接解析文件,还需要添加一个文档提取器,把文件中的内容提取出来。
输入变量中选择sys.files
接下来我们要添加一个条件分支,判断用户有没有上传文件,如果上传了文件就引用文件的内容来回答问题,如果没上传文件就直接回答用户的问题。
添加一个LLM节点,处理有文件上传的情况,上下文中选择文“档提取器text”,SYSTEM中按"/"引入上下文,并添加描述:
这是用户上传的文件:{{#context#}},请结合文件的内容回答用户的问题。
注意,这里不要勾选记忆选项,否则大模型无法读取文件内容,这应该是个bug。
然后,在最后添加一个直接回复节点就行了。
如果没有文件上传,添加一个LLM2节点直接回答用户的问题,SYSTEM中添加描述(根据实际情况描述):
你具备跨领域知识储备与多轮对话能力,能精准理解用户的问题,提供专业的解答,以友好交互为核心原则。
然后,在最后添加一个直接回复节点就行了。
看下整个工作流:
最后,试下效果。
有文件的情况:
没有文件的情况:
测试完没问题,点发布更新就行啦: