SmartPDFs:一款快速总结和分段PDF文档的AI工具
SmartPDF是什么?
SmartPDF 是一个利用 ai 技术对 PDF 文件进行处理的项目,它能够快速总结和分段 PDF 文件内容,丢给它一份PDF文档,它能分段整理出一份简洁带有核心内容的分段总结,对经常需要阅读大量长篇PDF的用户来说比较有用。SmartPDF由 Together AI 平台上的 Llama 3.3 模型提供支持。
SmartPDF主要功能
PDF 文本提取:借助 pdfjs - dist 库从 PDF 文件里提取文本,并且把文本分割成合适大小的块。
export async function getPdfText(pdf: PDFDocumentProxy) { // 实现 PDF 文本提取逻辑 } export async function chunkPdf(pdf: PDFDocumentProxy) { // 实现 PDF 文本分块逻辑 }
内容总结:通过调用 /api/summarize 接口,运用 AI 技术对每个文本块进行总结,同时生成相应的标题。
export async function summarizeStream(chunks: Chunk[], language: string) { // 实现文本块总结逻辑 }
图像生成:依据总结内容调用 /api/image 接口,利用 AI 生成与总结内容相匹配的图像。
export async function generateImage(summary: string) { // 实现图像生成逻辑 }
PDF 分享:把总结后的内容、图像以及原始 PDF 文件信息保存到数据库,并且生成分享链接。
export async function sharePdf({ pdfName, pdfUrl, imageUrl, sections, }) { // 实现 PDF 分享逻辑 }
项目技术栈
前端:采用 React 作为基础框架,借助 next - s3 - upload 实现文件上传至 S3 存储桶。
后端:运用 Next.js 的 API 路由处理接口请求,调用 AI 模型进行内容总结和图像生成。
AI 模型:使用 Together AI 平台上的 Llama 3.3 模型。
数据库:借助 Prisma 和 Neon 数据库存储 PDF 信息和总结内容。
项目运行步骤
1. 克隆仓库:
git clone https://github.com/Nutlope/smartpdfs.git cd smartpdfs
2. 安装依赖:
pnpm install
3. 配置环境变量:在 .env 文件中设置必要的环境变量,例如 S3 存储桶信息、AI 模型 API 密钥等。
4. 运行项目:
pnpm dev
项目地址
官网:https://www.smartpdfs.ai/
Github:https://github.com/Nutlope/smartpdfs
相关文章
Sioyek:专注于学术阅读的PDF阅读器
2025-05-03