首先要明确一点,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工具检索。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐