ChatGPT Enterprise 现已支持读取和理解提示中包含的 PDF 文件内嵌的视觉内容(图像、图表、示意图等)。用户可以上传 PDF,ChatGPT 可以解读该文件中的文本以及任何视觉元素。
有关详细信息,请参阅PDF 视觉检索常见问题。
ChatGPT Enterprise 允许你通过多种方式上传文件:
本指南说明 ChatGPT Enterprise 功能如何根据文件的类型、数量和大小处理文件,并讨论根据文件要求改进输出的策略。
摘要
ChatGPT Enterprise 对不同文件类型的处理方式差异很大:从 PDF、演示文稿和 Word 文件等文本文档中提取文本,使用 Python 代码分析电子表格中的结构化数据,并通过 GPT-Vision 描述图像文件。了解哪种文件类型会触发哪种工作流程,是获得预期结果的关键。
对于基于文本的文档,ChatGPT Enterprise 会将尽可能多的相关文本直接与提示一起包含,并使用搜索系统访问更多信息。这对于回答具体问题效果很好。不过,在总结非常大的文档或比较多个大型文件等复杂任务中,这种方法可能表现吃力。继续阅读,了解改进结果的策略。
基于类型处理文件
ChatGPT Enterprise 主要通过三种方式处理文件:文本提取、代码分析和图像解读。文件类型决定 ChatGPT Enterprise 遵循哪种工作流程。
| 基于文本的检索 | 代码解释器 | 图像处理 | 视觉检索 | |
|---|---|---|---|---|
| 文件类型示例 | pptx、docx、txt、md、json、xml、pdf* * 作为 GPT 知识 或 项目文件 上传的 PDF | csv、xls、xlsx* *注意:代码解释器可以处理任何文件类型,但 ChatGPT Enterprise 最常对电子表格默认使用 CI | jpg、png | pdf* * 用户提示中包含的 PDF |
| 行为 | 从文件中提取文本——其中一些文本会被直接粘贴(“填充”)到上下文窗口中;一些文本会被存储以供搜索 | 代码解释器会将文件传递给 Python 进行处理 | 图像由多模态模型原生解读,但受 已知限制 约束。 | 文本检索和图像处理的混合方式。文本会被数字化提取,视觉内容则由多模态模型原生解读。 |
对于纯文本文件、图像文件或结构清晰的数据文件(例如交易 Excel 表),这些划分代表了最佳可能行为。
也有一些不太明显的灰色地带,例如:
PDF 以外的文件中嵌入的图像不会被处理。若要包含这些图像,请在上传前将文件转换为 PDF。
ChatGPT Enterprise 将始终使用代码解释器与电子表格交互,即使文档包含大量文本也是如此。例如,如果你要求 ChatGPT Enterprise 翻译一个包含 10 行文本的 CSV 文件,它会尝试使用 Python 库翻译该文件,而这不如让模型直接生成翻译准确。为缓解这一问题,请尝试将电子表格导出为基于文本的格式(例如 PDF)。
同样,如果你上传包含结构化交易表数据的 JSON 文件,ChatGPT Enterprise 会将该文件解释为纯文本。如果你想分析 JSON 文件中包含的数据,请在提示中指示模型使用代码解释器。
基于大小处理文件
ChatGPT Enterprise 使用的模型最大上下文窗口为 128k Token(约 200 页文本)。不过,并非所有 Token 都用于纳入上传文件中的文本。“填充”的 Token 数量因使用类型而异。
ChatGPT Enterprise 会“填充”一定量的文本,其余文本会发送到私有搜索索引(“向量存储”,这是一种用于高效存储和检索大量文本的数据库)。当你提问时,ChatGPT Enterprise 会引入已包含的文本,以及从私有搜索索引中检索到的相关片段。
如果你上传单个文档,ChatGPT Enterprise 会从文档开头开始纳入文本,直到达到其限制。如果你上传多个文档,ChatGPT Enterprise 会纳入每个文档的部分或全部内容。文档中的所有文本也会发送到私有搜索索引。
文本文档的上下文填充
此功能正在积极开发中。因此,以下详细信息可能会更改,恕不另行通知。
ChatGPT Enterprise 可在上下文窗口中处理上传文档中的最多 110k 个 Token。如果你上传的一个或多个文档合计少于 110k 个 Token,则会纳入完整内容。
对于超过 110k 个 Token 的单个文档,只会从开头开始纳入前 110k 个 Token。其余内容只会发送到私有搜索索引。
如果上传了多个文档,且其合计超过 110k 个 Token,ChatGPT Enterprise 会使用两步流程来平衡文档呈现:
提取最多 55k 个 Token,并在上传的文档之间平均分配。
对于第一步中未完全呈现的文档,根据每个文档剩余的 Token 数按比例分配剩余的 55k 个 Token。
任何剩余的 Token 只会发送到私有搜索索引。
你可以将文本文档的文本复制到 OpenAI Tokenizer 中,以估算其中的 Token 数量。
多媒体 PDF 的上下文填充
当用户上传同时包含文本和图像的 PDF 时,视觉检索使 ChatGPT 能够在处理数字化提取文本的同时,原生处理这些图像。以下步骤补充了我们针对多媒体 PDF 的标准上下文处理流程:
图像提取和嵌入:图像会与其关联的数字文本一起被提取并嵌入。
智能缩放:图像会自动缩放,以在信息质量和可用上下文窗口的高效使用之间保持平衡。
当上传的 PDF 超过 110k 个 Token 限制时,图像和文本都会嵌入到私有搜索索引中。文本嵌入会引用相关图像,使 ChatGPT 能够根据用户查询检索相应的文本-图像对。随后会使用 ChatGPT 的原生多模态能力处理检索到的图像。
准确估算多媒体 PDF 的 Token 需求具有挑战性。测试表明,约 350 页混合文本和图像会完全用尽 110k 个 Token 的上下文窗口。
基于模型类型的搜索策略
GPT 系列和 o 系列模型都支持文件上传,并使用相同的上下文填充和搜索嵌入逻辑。所有模型都会对私有搜索索引执行混合搜索,结合关键词和语义方法。在混合搜索中,模型会根据用户的提示生成搜索短语,私有搜索索引则据此检索相关文本和图像。
不过,这些模型在搜索超出上下文窗口的大型文档时方式有所不同:
GPT 系列模型
每个提示进行一次搜索:GPT 系列模型会针对每个用户提示执行一次搜索。
有效用例:非常适合回答大量文档中包含的直接问题。
示例查询:
“提前退休的人力资源政策是什么?”
“
process_order函数有什么作用?”
o 系列模型
每个提示可进行多次搜索:可针对每个用户提示执行多次搜索(通常为 2–3 次),每次使用唯一的搜索短语。搜索会按顺序执行,模型可根据先前搜索检索到的信息更新其方法。
有效用例:更适合需要在大量文档中进行多次定向搜索的复杂问题。
示例查询:
“提前退休、育儿假和海外调动的人力资源政策是什么?”
“解释
process_order函数的作用,列出此函数调用的所有方法,并简要描述每个被调用的方法。”
尽管 o 系列模型具备这些优势,但当查询需要三次以上搜索时,可能会遇到困难。
改进文件搜索结果的提示
对于需要多次搜索的复杂问题,尝试使用 o 系列模型。
请记住,响应可能会因你上传文档的类型、数量和大小而异。
通常,加载更少且更聚焦的文档会带来更高的准确性。
将包含多个问题的主题拆分为单个问题:
如果你需要了解每个州的人力资源政策,请逐个询问。
如果你需要总结许多文档,请一次请求总结一个文档。如果该文档有数百页,请考虑将其拆分为更小的部分。
如果你提供的是多个摘要而不是完整文档,可以让 ChatGPT Enterprise 编写“摘要的摘要”。
如果你有一个 RFP 的 CSV(每一行都是一个不同的问题),请逐个提出这些问题,而不是只加载 CSV 并请求单个响应。
寻找审核模型响应的方法。示例 GPT 指令如下:
# 上下文
你是理解文档的专家。用户将附加一个文档并提出问题。他们需要能够将你的回答关联回你从文本中获取答案的确切位置。
# 指令
1. 根据用户附加的文档回答用户的问题,并使用以下提供的确切格式
# 格式
- 问题:{ 重复用户的问题 }
- 回答:{ 提供对用户问题的回答 }
来源:
- - 章节编号:{ 提供你从中提取答案的章节编号 }
- - 章节标题:{ 提供你从中提取答案的章节标题 }
- - 原文:{ 提供你从中提取答案的确切文本 }
# 规则
- 回答要清晰简洁
- 仅提供文档中给出的信息
- 如果你无法在文档中找到答案,请只回复“未找到信息。”