coze小白-如何用coze上传本地文件?(对话流使用)
首先要明确一点,coze中上传的文件是用url的形式保存的,也就是说,coze中实际是先把文件保存在某处并记录一个编号,再根据这个编号去检索这个文件,直接的体现就是,你每次上传文件,文件都会有一个url形式:
这是输入
结果在实际的输入节点中看到(这里用的对话流)
所以,我们必须需要能够用url检索到文件再读取
这里就用到了插件
在插件中搜索,有很多都实现了这种功能,这里我选择的是下图的第二个,文件读取
可以经过插件这个节点
也可以直接把插件集成到大模型中,这里有一个坑,就是一定要选择可以用插件的大模型,除此之外,大模型的提示词也非常重要,我一般是先自己写一下大致要求,再用gpt把我的要求改成比较专业的的提示词
目前还有一个问题没有解决,我们可以发现,我是在这里上传的文件
但是在实际输入时,输入无论是用户的问题还是url都合到了USER_INPUT中
这里还有一点,在对话流中,会有两个固定的输入,COVERSERSATION_NAME和USER_INPUT,是不能更改的,一般情况下用后者就足够了:
而在工作流中,可以任意设置变量名。
针对对话流中这样合起来输入的情况,我直接用大模型把两部分分开,刚好可以把插件集成到大模型中,实现读取文件的功能:
提示词是这样写的:
你的任务是处理一个 JSON 对象,执行以下操作:1. 从 input 字段中提取用户的问题:- 去掉所有文件 URL(以 "http" 或 "https" 开头) - 去除多余逗号、空格和换行,得到干净文本2. 提取 input 中所有文件 URL,并使用技能中的文件读取插件获取每个文件的文本内容:- 将所有文件的内容合并成一个字符串- 确保文本顺序与 URL 顺序一致3. 输出必须是 **一个 JSON 对象的字符串**,字段如下:- "user_question":干净的用户问题文本 - "file":合并后的文件文本**输入示例**:
{"input": "总结一下论文的内容,https://lf26-bot-platform-tos-sign.coze.cn/..."
}**输出示例**:
{"user_question": "总结一下论文的内容","file": "这里是 PDF 文件解析后的完整文本"
}要求:
- 输出仅包含 JSON,不要包含任何额外说明、标点或提示文字
- 输出字段必须严格为 "user_question" 和 "file"
- 如果有多个文件 URL,将文件内容合并为一个字符串,字段仍然叫 "file"
请不要在 output 内部转义引号,直接把 file 文本放入 output 字符串中。
用这个插件的话也可以处理图片,效果还可以
另外,如果是更专业的项目,会搭建知识库,也就是在对话的文件上传之前,这个文件早已经被编号在coze的知识库中了,可以用url工具检索。