ChatGPT Enterprise 現在支援讀取並理解提示詞中所包含之 PDF 檔案內嵌的視覺內容(圖片、圖表、示意圖等)。使用者可以上傳 PDF,而 ChatGPT 能解讀其中的文字以及任何視覺元素。
詳情請參閱 PDF 視覺擷取常見問題(FAQ)。
ChatGPT Enterprise 允許你以多種方式上傳檔案:
本指南說明 ChatGPT Enterprise 功能如何依檔案的類型、數量與大小來處理檔案,並討論可依檔案需求改善輸出結果的策略。
摘要
ChatGPT Enterprise 對不同檔案類型的處理方式差異很大:會從 PDF、簡報與 Word 等文字文件中擷取文字;用 Python 程式碼分析試算表中的結構化資料;並透過 GPT-Vision 描述影像檔。了解哪種檔案類型會觸發哪種工作流程,是得到符合預期結果的關鍵。
對於文字型文件,ChatGPT Enterprise 會將盡可能多的相關文字直接納入提示詞旁的內容,並使用搜尋系統存取額外資訊。這對回答具體問題很有效;但在摘要超大型文件或比較多個大型檔案等複雜任務上,可能會比較吃力。請繼續閱讀以了解改善結果的策略。
依類型處理檔案
ChatGPT Enterprise 主要以三種方式處理檔案:文字擷取、程式碼分析,以及影像解讀。檔案類型決定了 ChatGPT Enterprise 會採用哪種工作流程。
| 文字型擷取(Text-Based Retrieval) | 程式碼直譯器(Code Interpreter) | 影像處理(Image Processing) | 視覺擷取(Visual Retrieval) | |
|---|---|---|---|---|
| 檔案類型範例 | 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 tokens(約 200 頁文字)。不過,並非所有 token 都會用來納入上傳檔案的文字。「塞入」的 token 數量會依使用情境而不同。
ChatGPT Enterprise 會「塞入」一部分文字,其餘文字則會送入私有搜尋索引(「向量資料庫」vector store,一種用來高效儲存與擷取大量文字的資料庫)。當你提出問題時,ChatGPT Enterprise 會將已包含的文字與從私有搜尋索引擷取的相關片段一併帶入。
若你上傳單一文件,ChatGPT Enterprise 會從開頭開始納入文字,直到達到上限為止。若你上傳多個文件,ChatGPT Enterprise 會納入每個文件的部分或全部內容。所有文件的文字也都會送入私有搜尋索引。
文字文件的內容塞入(context stuffing)
此功能仍在積極開發中。因此,下列細節可能會在未事先通知的情況下變更。
ChatGPT Enterprise 最多可在內容視窗中處理上傳文件的 110k tokens。若你上傳的一份或多份文件合計少於 110k tokens,將會完整納入全部內容。
若單一文件超過 110k tokens,僅會納入從開頭起算的前 110k tokens;其餘內容只會送入私有搜尋索引。
若上傳多份文件且合計超過 110k tokens,ChatGPT Enterprise 會使用兩步驟流程來平衡各文件的代表性:
先擷取最多 55k tokens,並在上傳的文件之間平均分配。
例如,上傳 10 份文件時,會從每份文件開頭各擷取 5.5k tokens。
對於在第一步未能完整代表的文件,依各文件剩餘 token 的比例按比例分配剩下的 55k tokens。
例如,文件 A 剩 10k tokens、文件 B 剩 90k tokens,則會從文件 A 額外擷取 5.5k tokens((10k / 100k) * 55k),並從文件 B 額外擷取 49.5k tokens((90k / 100k) * 55k)。
任何剩餘的 tokens 只會送入私有搜尋索引。
你可以把文件文字複製到 OpenAI Tokenizer 來估算文字文件的 token 數量。
多媒體 PDF 的內容塞入(context stuffing)
當使用者上傳同時包含文字與圖片的 PDF 時,視覺擷取可讓 ChatGPT 在數位擷取的文字旁,原生處理這些圖片。以下步驟會補強我們對多媒體 PDF 的標準內容處理流程:
圖片擷取與嵌入:會擷取圖片,並與其相關聯的數位文字一同嵌入。
智慧縮放:會自動縮放圖片,在資訊品質與可用內容視窗的效率使用之間取得平衡。
當上傳的 PDF 超過 110k token 上限時,圖片與文字都會被嵌入私有搜尋索引。文字嵌入會引用相關圖片,使 ChatGPT 能依使用者查詢擷取適當的文字-圖片配對;而被擷取的圖片接著會透過 ChatGPT 原生的多模態能力進行處理。
要精準估算多媒體 PDF 的 token 需求很困難。測試顯示,約 350 頁的文字與圖片混合內容,會充分用滿 110k token 的內容視窗。
依模型類型制定搜尋策略
GPT 系列與 o 系列模型都支援檔案上傳,並使用相同的內容塞入與搜尋嵌入邏輯。所有模型都會對私有搜尋索引執行混合搜尋,結合關鍵字與語意方法。在混合搜尋中,模型會根據使用者提示詞產生搜尋語句,而私有搜尋索引則會據此擷取相關文字與圖片。
不過,這些模型在搜尋超出內容視窗的大型文件時,作法有所不同:
GPT 系列模型
每個提示詞只搜尋一次:GPT 系列模型對每個使用者提示詞執行一次搜尋。
適用情境:適合用於從大量文件中回答明確、直接的問題。
範例查詢:
「提前退休的 HR 政策是什麼?」
「
process_order函式是做什麼的?」
o 系列模型
每個提示詞可進行多次搜尋:每個使用者提示詞可執行多次搜尋(通常 2–3 次),且每次都有不同的搜尋語句。搜尋會依序進行,模型也能根據先前搜尋取得的資訊調整後續策略。
適用情境:更適合需要在大量文件中進行多次、精準定向搜尋的複雜問題。
範例查詢:
「提前退休、育嬰假與海外調職的 HR 政策分別是什麼?」
「說明
process_order函式的用途,列出此函式呼叫的所有方法,並簡要描述每個被呼叫的方法。」
即使 o 系列模型有其優勢,當查詢需要超過三次搜尋時,仍可能會吃力。
改善檔案搜尋結果的小技巧
對於需要多次搜尋的複雜問題,試著使用 o 系列模型。
請記得:回覆可能會因你上傳文件的類型、數量與大小而異。
通常而言,載入較少且更聚焦的文件,準確度會更高。
將多題主題拆成單一問題:
如果你需要了解各州的 HR 政策,請一州一州分別詢問。
如果你需要摘要多份文件,請一次摘要一份。若該文件有數百頁,建議拆分成更小的部分。
若你提供多個摘要而非整份文件,也可以請 ChatGPT Enterprise 撰寫「摘要的摘要」。
如果你有一份 RFP 的 CSV(每一行都是不同問題),請逐題詢問,而不是只載入 CSV 並要求一次給出單一回覆。
想辦法稽核模型的回覆。以下提供範例 GPT 指令:
# 背景
你是一位擅長理解文件的專家。使用者將會附上一份文件並提出問題。他們需要能把你的答案對應回你從文件中擷取答案的確切文字位置。
# 指示
1. 依據使用者所附文件回答他們的問題,並使用下方提供的確切格式
# 格式
- Question: { 重複使用者的問題 }
- Answer: { 提供對使用者問題的回答 }
Source:
- - Section Number: { 提供你引用答案的章節編號 }
- - Section Title: { 提供你引用答案的章節標題 }
- - Exact Text: { 提供你用來得出答案的原文內容 }
# 規則
- 給出清楚且精簡的回答
- 只提供文件中有提到的資訊
- 若你在文件中找不到答案,請直接回覆「未找到相關資訊。」