最近搞了个小项目,给一段 prompt 加一份长文档,自动出一版可以继续编辑的 PPT 草稿。本来以为最难的部分是 prompt 设计或者 PPT 渲染,结果 80% 的时间都耗在了文档解析上,记录一下踩过的坑,顺便想请教下各位在这块都是怎么处理的。
场景大概是这样:用户上传的资料是产品白皮书、研究报告、需求文档之类的,几十页起步,PDF 居多,也有 Word 和 Excel 。要做的事其实就一句话——把内容读懂,然后让 LLM 出一版 outline 加各页要点。
第一版我懒,直接把 PDF 转 base64 丢给 Gemini ,反正它号称百万 token 。跑了几次发现:
第二版自己写解析。pdf.js + mammoth + SheetJS 一套全上。理论上很美好,跑起来就是另一回事:
写到第二天凌晨看着满屏 if/else 兼容代码我开始怀疑这条路。这事本身就不是手搓能搞定的,它涉及版面识别、OCR 、表格还原、章节关系恢复,本质上是一个独立的工程问题,不是周末项目能糊出来的。
然后开始看现成的方案,目前我试过和了解过的:
选完之后问题没全解决,下游怎么用结构化结果也得想。我现在的做法:
这套改完之后同一份白皮书重新跑,10 页 PPT 之前有 4 页跑偏、2 个数据错,现在基本对得上原文。表格那块改善最明显,之前我都不敢让 LLM 直接看原始表格。
写下来还有几个事情没想清楚,想请教下大家:
技术栈顺手记一下:Next.js 16 + Bun + Turborepo + oRPC + Drizzle + Postgres + Vercel AI SDK + Vercel Blob 。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.