大模型 API 能否直接輸入 PDF?3 種方案解決 PDF 處理需求

作者注:詳解 GPT-4o、Claude、Gemini、DeepSeek 等大模型 API 對 PDF 輸入的支持情況,以及文字化提取、圖片理解、客戶端 3 種處理方案

"大模型 API 能不能直接傳 PDF 進去?"這是開發者最常問的問題之一。答案比你想象的複雜——部分模型已原生支持 PDF 輸入(Claude、Gemini、GPT-4o),但 DeepSeek 等模型尚不支持,且原生支持的 Token 成本遠高於文字化提取方案。

本文將從實際開發角度出發,梳理各主流大模型 API 的 PDF 支持現狀,並給出 3 種 PDF 處理方案的完整對比和代碼示例,幫你選出最適合自己場景的方式。

核心價值: 讀完本文,你將清楚每個大模型對 PDF 的支持程度,並掌握從最省錢到最省事的 3 種處理方案。

<!– SVG_COVER: 封面圖 – 展示PDF輸入的3種方案:原生支持、文字化提取、圖片理解 –>

llm-api-pdf-input-support-guide-text-extraction-vision-zh-hant 图示


大模型 API PDF 輸入支持核心要點

要點 說明 價值
3 家已原生支持 PDF Claude(600 頁)、Gemini(1000 頁)、GPT-4o(100 頁)均已支持 無需預處理,API 直傳即可
DeepSeek 等尚不支持 需前置文字化提取或圖片轉換 需搭建預處理流程
成本差異巨大 原生 PDF 每頁 258-3000 tokens,純文本提取僅 300-1500 大批量場景選對方案可省 10 倍成本
3 種方案各有適用場景 文字化提取、圖片理解、客戶端處理 按需選擇,不必強求一種方案

大模型 API 對 PDF 的原生支持現狀

好消息是,2025 年以來主流大模型已陸續支持 API 直傳 PDF。它們的實現方式基本一致——提取 PDF 中的文本,同時將每一頁渲染爲圖片,讓模型同時理解文字內容和視覺元素(圖表、版面佈局等)。

壞消息是,這種"文本 + 圖片雙通道"處理方式的 Token 消耗遠高於純文本輸入。一份 50 頁的報告如果直接傳 PDF,可能消耗 10 萬+ tokens,而先提取文本再傳入可能只需要 3 萬 tokens。

各大模型 API PDF 支持詳細對比

模型 是否支持 PDF 最大頁數 最大文件 傳輸方式 每頁 Token 成本
Claude 支持(GA) 600 頁 32 MB Base64 / URL / Files API 1500-3000
Gemini 支持 1000 頁 2 GB(Files API) Inline / Files API / URL ~258(最便宜)
GPT-4o 支持 100 頁 32 MB Base64 / File Upload ~765(圖片)+ 文本
DeepSeek 不支持 需預處理
Llama / Qwen 不支持 需預處理

🎯 選擇建議: 如果你需要大批量處理 PDF,Gemini 的成本最低(每頁約 258 tokens,原生文本提取免費)。如果需要最長文檔支持,也是 Gemini 最強(1000 頁)。Claude 在理解準確度上表現出色,適合高精度場景。這些模型都可以通過 API易 apiyi.com 平臺統一接入調用。

<!– SVG_DIAGRAM: 3種PDF處理方案的流程對比圖 –>

llm-api-pdf-input-support-guide-text-extraction-vision-zh-hant 图示


大模型 API PDF 處理方案一:文字化提取

這是最通用、成本最低的方案。先用 Python 庫將 PDF 提取爲 Markdown 或純文本,再將文本作爲 prompt 傳給任意大模型 API。

PDF 文字化提取工具對比

工具 速度 最佳場景 特點
PyMuPDF4LLM ~0.14s/文檔 通用文本 + 表格提取 速度與質量最佳平衡,輸出 Markdown
pdfplumber 中等 表格數據提取 座標級表格提取,精度高
Marker-PDF ~11s/文檔 複雜版面保真轉換 結構保留最好,速度較慢
PyPDF2 簡單純文本 PDF 輕量級,適合基礎文本提取

PDF 文字化提取代碼示例

import pymupdf4llm
import openai

# 步驟1: PDF 轉 Markdown
md_text = pymupdf4llm.to_markdown("report.pdf")

# 步驟2: 傳給大模型 API
client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": f"請總結這份報告的核心要點:\n\n{md_text}"}]
)
print(response.choices[0].message.content)

查看 PDF 帶圖處理的完整代碼(圖片理解方案)
import fitz  # PyMuPDF
import base64
import openai

def pdf_pages_to_images(pdf_path, dpi=200):
    """將 PDF 每頁轉爲 Base64 圖片"""
    doc = fitz.open(pdf_path)
    images = []
    for page in doc:
        pix = page.get_pixmap(dpi=dpi)
        img_bytes = pix.tobytes("png")
        b64 = base64.b64encode(img_bytes).decode()
        images.append(b64)
    return images

# PDF 轉圖片
images = pdf_pages_to_images("report.pdf")

# 構建多圖消息
content = [{"type": "text", "text": "請分析這份 PDF 文檔中的圖表和數據:"}]
for img_b64 in images[:10]:  # 注意控制頁數,避免 Token 超量
    content.append({
        "type": "image_url",
        "image_url": {"url": f"data:image/png;base64,{img_b64}"}
    })

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": content}]
)
print(response.choices[0].message.content)

建議: 文字化提取方案兼容所有大模型(包括 DeepSeek、Llama 等不支持 PDF 的模型),通過 API易 apiyi.com 可以用同一個 API Key 調用任意模型進行測試。


大模型 API PDF 處理方案二:原生 PDF 輸入

如果你使用的是 Claude、Gemini 或 GPT-4o,可以直接將 PDF 通過 API 傳入,無需任何預處理。

Claude API 原生 PDF 輸入示例

import anthropic
import base64

client = anthropic.Anthropic(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com"  # Claude 用根域名
)

with open("report.pdf", "rb") as f:
    pdf_data = base64.standard_b64encode(f.read()).decode()

message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=4096,
    messages=[{
        "role": "user",
        "content": [
            {"type": "document", "source": {"type": "base64", "media_type": "application/pdf", "data": pdf_data}},
            {"type": "text", "text": "請總結這份文檔的核心要點"}
        ]
    }]
)
print(message.content[0].text)

Gemini API 原生 PDF 輸入示例

from google import genai

client = genai.Client(
    api_key="YOUR_API_KEY",
    http_options={"api_version": "v1beta", "base_url": "https://api.apiyi.com"}
)

with open("report.pdf", "rb") as f:
    pdf_bytes = f.read()

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents=[
        genai.types.Part.from_bytes(data=pdf_bytes, mime_type="application/pdf"),
        "請總結這份文檔的核心要點"
    ]
)
print(response.text)

🎯 成本提醒: 原生 PDF 輸入雖然最方便,但 Token 成本顯著高於純文本方案。以一份 50 頁 PDF 爲例:Gemini 約消耗 12,900 tokens(最便宜),Claude 約 75,000-150,000 tokens,GPT-4o 約 40,000+ tokens。大批量場景務必評估成本,建議通過 API易 apiyi.com 的用量統計功能監控消耗。


大模型 API PDF 處理方案三:客戶端處理

對於日常對話場景(非代碼開發),使用 AI 客戶端是最省事的方式。以 Cherry Studio 爲例,它支持直接拖入 PDF 附件,自動完成向量化和語義檢索,只將相關片段發送給大模型。

客戶端方案優勢

  • 零代碼: 拖入 PDF 即可開始對話
  • 節省 Token: 通過 RAG 檢索只發送相關片段,而非全文
  • 多模型切換: 支持配置 API易等多個 API 平臺
  • 本地知識庫: 可將多份 PDF 建成知識庫,反覆查詢

使用客戶端處理 PDF 的注意事項

  • 控制文件大小: PDF 頁數過多會導致向量化時間過長
  • 注意 Token 費用: 雖然 RAG 會壓縮內容,但長文檔仍可能產生較高費用
  • 選擇合適模型: 簡單問答可用便宜模型(如 GPT-4o-mini),複雜分析用旗艦模型

建議: 在 Cherry Studio 等客戶端中配置 API易 apiyi.com 作爲 API 提供商,即可通過一個 Key 訪問 Claude、Gemini、GPT 等所有模型。

<!– SVG_COMPARISON: 3種方案的成本/效果/適用場景對比 –>

llm-api-pdf-input-support-guide-text-extraction-vision-zh-hant 图示


常見問題

Q1: 用 DeepSeek 處理 PDF 應該用哪種方案?

DeepSeek API 目前不支持直接輸入 PDF。推薦使用方案一(文字化提取):先用 PyMuPDF4LLM 將 PDF 轉爲 Markdown 文本,再通過 API易 apiyi.com 調用 DeepSeek API 進行分析。如果 PDF 包含圖表,可以先將頁面轉爲圖片,使用支持 Vision 的模型(如 GPT-4o)進行理解。

Q2: 原生 PDF 輸入和文字化提取哪個效果更好?

取決於 PDF 內容。純文本 PDF(合同、報告)兩者效果接近,文字化提取更省錢。包含圖表、複雜版面或掃描件的 PDF,原生輸入效果明顯更好,因爲模型能同時理解文字和視覺元素。建議先用文字化方案測試,效果不夠再切換原生輸入。

Q3: 如何控制 PDF 處理的 Token 費用?

幾個實用技巧:

  1. 大批量場景優先用 Gemini(每頁僅 258 tokens,成本最低)
  2. 只提取需要的頁面,不要一次傳整份文檔
  3. 文字化提取後先做摘要/分塊,避免傳入過長文本
  4. 通過 API易 apiyi.com 的用量面板監控實際消耗

總結

大模型 API PDF 輸入支持的核心要點:

  1. 部分模型已原生支持: Claude(600 頁)、Gemini(1000 頁)、GPT-4o(100 頁)可直接傳 PDF,DeepSeek 等暫不支持
  2. 3 種方案按需選擇: 文字化提取成本最低且兼容所有模型,原生輸入最方便但貴,客戶端處理適合日常對話
  3. 成本差異顯著: 同一份 PDF,Gemini 原生輸入最便宜(~258 tokens/頁),純文本提取方案可再降 50% 以上成本

根據你的場景選對方案,就能高效處理 PDF 而不被高額 Token 費用嚇到。

推薦通過 API易 apiyi.com 統一接入各大模型,平臺提供免費額度,支持 Claude、Gemini、GPT、DeepSeek 等全部主流模型的 API 調用。


📚 參考資料

  1. OpenAI PDF 輸入指南: API 直傳 PDF 的官方文檔

    • 鏈接: platform.openai.com/docs/guides/pdf-files
    • 說明: GPT-4o PDF 輸入的詳細規格和限制
  2. Claude PDF 支持文檔: Anthropic 官方 PDF 處理指南

    • 鏈接: docs.anthropic.com/en/docs/build-with-claude/pdf-support
    • 說明: Claude PDF 輸入的 3 種方式和最佳實踐
  3. Gemini 文檔處理: Google 官方文檔理解能力說明

    • 鏈接: ai.google.dev/gemini-api/docs/document-processing
    • 說明: Gemini PDF 處理的限制和定價
  4. PyMuPDF4LLM 文檔: PDF 文字化提取工具

    • 鏈接: pymupdf.readthedocs.io/en/latest/pymupdf4llm
    • 說明: 速度最快的 PDF 轉 Markdown 工具
  5. API易平臺文檔: 統一接入各大模型 API

    • 鏈接: docs.apiyi.com
    • 說明: API Key 獲取、模型列表和調用示例

作者: APIYI 技術團隊
技術交流: 歡迎在評論區討論,更多資料可訪問 API易 docs.apiyi.com 文檔中心

發佈留言