用 DeepSeek V4 百万 token 上下文做长文档问答(不用 RAG)
一句话定义:用户上传 PDF / 一整套代码 / 整张 Excel,后端用
pdf-parse解析成纯文本后整篇塞进 prompt,调 CloudBase AIapp.ai().createModel('cloudbase').streamText({ model: 'deepseek-v4-pro' })一次性问答,跳过 RAG 的 embedding + 向量库 + 召回三件套。预计耗时:30 分钟 | 难度:进阶
适用场景
- 单篇长文档的一次性问答:财报 PDF、几十页论文、一份法律合同、白皮书,问完即走
- 让 AI 读整个 repo 几万行代码做架构理解 / 找 bug / 写文档
- Excel / CSV 大表(几千行)的数据问答,把表格序列化成纯文本喂进去就行
- 内部知识库雏形阶段,文档总量稳定在几十篇,还没必要上向量库
不适用:
- 短文档(几千 token 以下)用
deepseek-v4-pro的百万上下文是浪费钱,直接走 add-ai-nextjs 的deepseek-v4-flash即可 - 文档持续增长 / 多文档检索 / 需要细粒度引用某个 chunk,走 add-rag-with-pgvector-cloudbase — embedding + 向量库 + 召回是为「海量知识库 + 精确溯源」准备的
- 文档超过 80 万 token 软上限(估算:1 token ≈ 1.5 个汉字 / 4 个英 文字符),硬塞上去会被截断或报错,需要降级策略
- 单文档要被高频问答(同一个 PDF 一天问几百次),每次都把全文塞 prompt token 费用爆炸,这种走 RAG 更省
选哪条路:决策树
| 你的场景 | 推荐路线 |
|---|---|
| 文档总量 < 80 万 token,问完即走 | 本篇(长上下文一把梭) |
| 文档总量 < 80 万 token,但单文档要反复问答几百次 | RAG(add-rag-with-pgvector-cloudbase) |
| 文档总量 > 80 万 token,或者文档持续增长 | RAG |
| 需要精确给出"这句话引用了文档第几页第几段" | RAG(召回 chunk 自带索引) |
| 文档极短(几千 token 以下) | 直接走 add-ai-nextjs,用 flash 模型,百万上下文用不上 |
简单说:本篇是 cheaper 工程,但每次 token 贵;RAG 是更复杂工程,但每次 token 便宜。 选哪条看你文档复用率。
环境要求
| 依赖 | 版本 |
|---|---|
| Next.js | 14+(App Router) |
@cloudbase/node-sdk | 3.16.0 及以上(AI 模块要求) |
pdf-parse | ^1.1.1(解析 PDF buffer 成纯文本) |
| Node.js | 18.17+ |
| Route Handler runtime | 必须是 nodejs,不能用 edge |
| CloudBase 环境 | 已开通,且控制台 AI+ 已开通 |
| 模型 | deepseek-v4-pro(百万上下文是 pro 独有,flash 不支持) |
服务端必须用
@cloudbase/node-sdk,不要用@cloudbase/js-sdk + signInAnonymously()。Web SDK 的匿名登录默认会被严格限频(详见 Web SDK 安全策略),长文档场景一次请求几十秒,Web SDK 那条路根本走不通。
第一步:控制台确认 deepseek-v4-pro 已上架
- 进 CloudBase 控制台 → 选你的环境 → AI+ → 模型管理
- 在可用模型列表里确认能看到
deepseek-v4-pro(完整列表见 接入大模型) deepseek-v4-pro是 pro 系列,百万上下文是它独有的能力;deepseek-v4-flash是短上下文 + 性价比款,不能用于本篇- token 计费按「输入 + 输出」分别计算,pro 系列单价比 flash 高,百万级输入一次性消耗可能是 flash 几十次对话的量级,部署前先去控制台看当前单价