Google 宣传 Gemini 2.5 Pro 有 2M tokens context window,但你在 gemini.google.com 上传一份 100 页的 PDF 就被”超限”——这不是虚假宣传,是消费端 Web UI 跟 API 的真实窗口差距巨大。Web 免费档实际可用窗口大约 32K-100K(按模型 + 计划档浮动),离 API 那个 2M 数字差 20-60 倍。
要拿到真正的长上下文能力,得搞清楚 Web vs API 的实际限制,再按场景选择正确路径。
常见原因
按出现频率:
1. 用了 Flash / Lite 模型,实际窗口被压缩(最常见)
每个模型的实际窗口:
| 模型 | API 上限 | gemini.google.com 实际 |
|---|---|---|
| Gemini 2.5 Pro | 2M | ~100K(Advanced 用户)/ ~32K(免费) |
| Gemini 2.5 Flash | 1M | ~32K-64K |
| Gemini Lite | 32K | ~16K |
Web UI 没有显式告诉你压缩了——只是给个”超限”提示。
如何判断:界面顶部模型选择器看当前模型。
2. 附件按”原文 bytes”计算,不是预览大小
你上传一份 100 页 PDF(页面里全是图),可能:
- 显示大小:5 MB
- 实际占用 context:PDF 解析后的文字 + 图像 OCR token 总数,可达 200K+ tokens
100 页 PDF 平均 = 30K-60K tokens(纯文字);混合图文 = 80K-200K tokens。
如何判断:上传后看 Gemini 是否报”内容过大”——是就属于这条。
3. 免费档比公开数字限得更严
免费用户的实际 context 窗口比 Advanced 用户小约 1/3 - 1/2,Google 不公开具体数字但实际体验如此。
如何判断:
- 你的账号在 one.google.com/about/ai-premium 显示 “Free” / 不是 “AI Premium” / “AI Pro”
- 同一份文件,付费账号能上但你不能
4. 对话历史已经吃满了 context
Web 端把当前对话所有历史算进 context。如果你已经在这个对话里塞了几个 PDF,新内容空间被压缩。
如何判断:当前对话已经有大量轮次或上传过多个文件。
5. Workspace 受管账号有更严限制
公司 Workspace 默认 Gemini context 上限可能被 IT 设置得很低(数据外流防范)。
如何判断:
- 私人账号能上传,工作账号不能 = 这条
- 联系 IT 确认 Admin Console → Gemini app 设置
6. PDF 含扫描页 / 大量图片
扫描 PDF 没有 OCR 文本,Gemini 把每一页当图像处理,1 页 ≈ 1-2K tokens(图像编码),100 页就是 100-200K。
最短修复路径
按”能拿到多大 context”从低成本到高:
Step 1:切到 Gemini 2.5 Pro 模型
gemini.google.com → 顶部模型选择器 → "Gemini 2.5 Pro"
Pro 比 Flash / Lite 实际窗口大 2-3 倍。只有 Pro 在 Web 上接近”长上下文”体验。
Step 2:升级 Google AI Premium
访问 one.google.com/about/ai-premium
订阅 Google AI Premium(含 Gemini Advanced)
升级后 Web 端 Pro 模型实际可用窗口从 32K 扩到 100K+,价格 $19.99/月。
Step 3:拆分大文档
100 页 PDF 拆成 50 页一份:
# 用 pdftk
pdftk input.pdf cat 1-50 output batch1.pdf
pdftk input.pdf cat 51-100 output batch2.pdf
# 或用 macOS Preview / Adobe Acrobat / 在线工具如 ilovepdf.com
工作流:
- 上传 batch1.pdf → “总结这部分,输出 1K 字 brief”
- 复制 brief
- 新对话上传 batch2.pdf + brief → 让 Gemini 合并
- 重复直到所有 batch 处理完
Step 4:扫描 PDF 先 OCR 转文本
如果是扫描件:
# 用 ocrmypdf(开源)
ocrmypdf input.pdf output_ocr.pdf
# 或用 Adobe Acrobat → Tools → Scan & OCR
OCR 后的 PDF 文字层会被识别为纯文本,token 数从 200K 降到 30-60K。
Step 5:把 PDF 转 markdown 进一步压缩
# pdftotext
pdftotext input.pdf output.txt
# 然后给 Gemini 看 .txt 文件
纯文本 token 数最低,且 Gemini 处理快。1MB 纯文本 ≈ 250K tokens,对应 Pro 的实际窗口刚好够。
Step 6:切到 Gemini API(真正的长上下文)
如果你重度依赖长上下文:
from google import genai
client = genai.Client(api_key="YOUR_KEY")
# Files API 上传大文件
file = client.files.upload(path="huge_doc.pdf")
response = client.models.generate_content(
model="gemini-2.5-pro",
contents=[file, "总结要点"]
)
API 实际享受文档的 2M tokens 窗口,价格按 token 计费但便宜(输入 $1.25/M tokens)。
或用 Google AI Studio(API 的免费 Web UI):
- 上传 100 页 PDF 没问题
- 窗口实测达 1.5M tokens
- 完全免费(带 rate limit)
Step 7:新开对话减少 history
如果当前对话已经塞了很多东西:
- 新对话
- 把之前的关键内容总结成 < 5K tokens 的 brief
- 在新对话里复用 brief + 新文件
Step 8:Workspace 联系 IT 提高限额
工作账号被限:让 IT 在 Admin Console → Gemini app for Workspace → 检查 “Maximum file size” 和”Maximum context tokens”设置。
预防建议
- 长上下文工作改用 aistudio.google.com(API 的免费 UI),窗口比 gemini.google.com 大 10 倍
- 扫描 PDF 先 OCR,token 数能省 70%
- 纯文本任务把文件转 .txt 而非 PDF,进一步压缩 token
- 升 Google AI Premium 拿 Web Pro 100K 窗口
- 重度长文档项目(论文 / 财报 / 代码库)直接走 Gemini API,2M 窗口