越来越多的大模型支持了超长的上下文 (context length),例如 Google gemini 一发布就支持 2M。超长上下文的特性大大方便了文档问答应用的开发。而 RAG 作为文档问答的解决方案,是否会被超长上下文 LLM 降维打击甚至完全替代?这篇文章就超长上下文和 RAG 这两种方案做了对比实验,并总结了两种方案的优缺点。
这里选择了香港优才计划的申请指引:優秀人才入境計劃申請須知。这个 PDF 包含繁体中文文本,文档段落结构清晰,有标题、有加粗、有编号。除了封面 PDF 里没有图片,不需要使用 OCR 来提取文本。这个 PDF 包含少量的简单表格,可以观察 LLM 或 RAG 方案对表格的解析能力。
这个 PDF 问答总计 26 页,每页有 900~1400 个中文字符,换算成 GPT4 的 token,每页的 token 数目是 1000~1800,整个 PDF 总计有 27k 个 token。
注意:这个 PDF 可能已包含在大模型的训练数据里,因此可能出现大模型不依据文档而基于自身数据自行回答,导致评测结果不够严谨
基于文档专门设计了 10 个问题,方便考察某些方面的能力,如:
| 评测问题 | 考察点 |
|---|---|
| 优才申请的条件 | 跨分片总结 |
| 综合计分制包含哪些方面 | 跨分片总结 |
| 资产数额的要求是多少 | 无明确答案 |
| 哪些学校的学位可以额外加分 | 无明确答案 |
| 需要哪些证明文件,详细列出来 | - |
| 35 岁可以计多少分 | PDF表格解析 |
| 哪些国家不可以申请优才计划 | 跨分片内容修订 |
| 递交的申请需要多长时间审批完成 | 无明确答案 |
| 怎样递交申请材料 | - |
| 语言能力需要证明文件吗 | 跨分片内容修订 |
这次选择了三种模型(或 RAG 应用),来对比长上下文文档的 QA 问答效果:
对 10 个问题的问答正确与否,汇总如下:
| 评测问题 | 对模型的挑战 | kimi chat | Coze(800t) | Coze(2000t) | 原生 GPT4 |
|---|---|---|---|---|---|
| 优才申请的条件 | 跨分片总结 | ✅ | ❌ | ❌ | ✅ |
| 综合计分制包含哪些方面 | 跨分片总结 | ✅ | ❌ | ❌ | ✅ |
| 资产数额的要求是多少 | 无明确答案 | ✅ | ✅ | ❌ | - |
| 哪些学校的学位可以额外加分 | 无明确答案 | ✅ | ✅ | ❌ | ✅ |
| 需要哪些证明文件,详细列出来 | - | ✅ | ✅ | ✅ | ✅ |
| 35 岁可以计多少分 | PDF表格解析 | ✅ | ❌ | ✅ | ✅ |
| 哪些国家不可以申请优才计划 | 跨分片内容修订 | ❌ | ❌ | ✅ | ✅ |
| 递交的申请需要多长时间审批完成 | 无明确答案 | ✅ | ✅ | ✅ | - |
| 语言能力需要证明文件吗 | - | ✅ | ✅ | ✅ | - |
| 怎样递交申请材料 | 跨分片内容修订 | ✅ | ✅ | ❌ | ✅ |