SmartPDFs:一款快速总结和分段PDF文档的AI工具

SmartPDF是什么?

SmartPDF 是一个利用 ai 技术对 PDF 文件进行处理的项目,它能够快速总结和分段 PDF 文件内容,丢给它一份PDF文档,它能分段整理出一份简洁带有核心内容的分段总结,对经常需要阅读大量长篇PDF的用户来说比较有用。SmartPDF由 Together AI 平台上的 Llama 3.3 模型提供支持。

SmartPDFs:一款快速总结和分段PDF文档的AI工具.webp

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

收藏