处理方式
短文档
直接抽取文本后放入请求上下文,适合页数少、结构清晰的文件。
长文档
按章节、页码或内容块拆分,便于在对话中定位和引用内容。
建议流程
1
抽取文本与页码
保留标题、页码、表格说明等引用信息,方便模型给出可追溯答案。
2
拆分文档块
长 PDF 按主题或页码拆分,避免一次性传入无关上下文。
3
选择输出格式
摘要用自然语言,字段提取用 JSON,复杂表格可要求 Markdown 表格。
API 调用示例
接口调用时,常见做法是在你的服务端先抽取 PDF 文本,再把相关正文放入messages.content。下面示例会读取 contract.pdf,让模型总结文档并提取关键字段。
将 PDF 文件放在项目根目录(即保存 .py 或 .mjs 代码文件、并从该目录运行命令的文件夹)中。代码里的 PDF_PATH = "contract.pdf" 就是要读取的文件名:你的文件叫 invoice.pdf 时,直接改成 PDF_PATH = "invoice.pdf"。文件名、扩展名和大小写必须与实际文件一致;文件不在项目根目录时,填写它的完整本地路径。无需单独上传 PDF,代码会读取该文件并把抽取出的文本随请求发送。
PdfReader 不是 Python 自带函数,它来自 pypdf 包;Node.js 示例里的 PDFParse 来自 pdf-parse 包。Python 与 Node.js 使用不同的包管理器:Python 请在项目文件夹终端执行下面的命令;Node.js 则在 npm 与 pnpm 中任选一种。
Python 示例需要先安装
openai 和 pypdf。Windows 中若 py 不可用,改用 python -m pip install openai pypdf;Node.js 示例需要使用 npm 或 pnpm 安装 openai 和 pdf-parse。如果 PDF 是扫描件,请先使用 OCR 提取文字。