SmartPDFs:一款快速總結和分段PDF文檔的AI工具
SmartPDF是什么?
SmartPDF 是一個利用 ai 技術對 PDF 文件進行處理的項目,它能夠快速總結和分段 PDF 文件內容,丟給它一份PDF文檔,它能分段整理出一份簡潔帶有核心內容的分段總結,對經常需要閱讀大量長篇PDF的用戶來說比較有用。SmartPDF由 Together AI 平臺上的 Llama 3.3 模型提供支持。
SmartPDF主要功能
PDF 文本提?。?/strong>借助 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