能力标签
PDF-Assistant-RAG AI技能包
🛠
AI工具

PDF-Assistant-RAG AI技能包

基于 TypeScript · 开源免费,本地部署,数据完全自主可控
英文名:PDF-Assistant-RAG
⭐ 12 Stars 🍴 8 Forks 💻 TypeScript 📄 MIT 🏷 AI 8.0分
8.0AI 综合评分
pdftypescriptfastapinextjs
✦ AI Skill Hub 推荐

AI Skill Hub 强烈推荐:PDF-Assistant-RAG AI技能包 是一款优质的AI工具。AI 综合评分 8.0 分,在同类工具中表现稳健。如果你正在寻找可靠的AI工具解决方案,这是一个值得深入了解的选择。

📚 深度解析

PDF-Assistant-RAG AI技能包 是一款基于 TypeScript 的开源工具,在 GitHub 上收获 0k+ Star,是pdf、typescript、fastapi、nextjs领域中的优质开源项目。开源工具的最大优势在于代码完全透明,你可以审计每一行代码的安全性,也可以根据自身需求进行二次开发和定制。

**为什么要使用开源工具而非商业 SaaS?**
对于个人开发者和有隐私需求的用户,本地部署的开源工具意味着数据不离本机,不受第三方服务商的数据政策约束。同时,开源工具通常没有使用次数限制和月度费用,一次安装即可长期使用,对于高频使用场景的总拥有成本(TCO)远低于订阅制商业工具。

**安装与环境准备**
PDF-Assistant-RAG AI技能包 依赖 TypeScript 运行环境。建议通过 pyenv(Python)或 nvm(Node.js)管理 TypeScript 版本,避免全局环境污染。对于新手用户,推荐先创建虚拟环境(python -m venv venv && source venv/bin/activate),再安装依赖,这样即使出现问题也可以随时删除虚拟环境重新开始,不影响系统稳定性。

**社区与维护**
GitHub Issue 和 Discussion 是获取帮助的最快渠道。在提问前建议先检查 Closed Issues(已关闭的问题),大多数常见问题都已有解答。遇到 Bug 时,提供 pip list 的输出、完整错误堆栈和最小可复现示例,能显著提高开发者响应速度。AI Skill Hub 将持续追踪 PDF-Assistant-RAG AI技能包 的版本更新,及时通知重要功能变化。

📋 工具概览

PDF-Assistant-RAG AI技能包 是一款基于 TypeScript 开发的开源工具,专注于 pdf、typescript、fastapi 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。

GitHub Stars
⭐ 12
开发语言
TypeScript
支持平台
Windows / macOS / Linux
维护状态
轻量级项目,按需更新
开源协议
MIT
AI 综合评分
8.0 分
工具类型
AI工具
Forks
8

📖 中文文档

以下内容由 AI Skill Hub 根据项目信息自动整理,如需查看完整原始文档请访问底部「原始来源」。

PDF-Assistant-RAG AI技能包 是一款基于 TypeScript 开发的开源工具,专注于 pdf、typescript、fastapi 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。

📌 核心特色
  • 开源免费,支持本地部署,数据完全自主可控
  • 活跃的 GitHub 开源社区,持续迭代更新
  • 提供详细文档和使用示例,新手友好
  • 支持自定义配置,灵活适配不同使用环境
  • 可作为基础组件集成进现有技术栈或进行二次开发
🎯 主要使用场景
  • 本地部署运行,保护数据隐私,满足合规要求
  • 自定义集成到现有系统,扩展技术栈能力
  • 作为开源基础组件进行商业化二次开发
以下安装命令基于项目开发语言和类型自动生成,实际以官方 README 为准。
安装命令
# 方式一:npm 全局安装
npm install -g pdf-assistant-rag

# 方式二:npx 直接运行(无需安装)
npx pdf-assistant-rag --help

# 方式三:项目依赖安装
npm install pdf-assistant-rag

# 方式四:从源码运行
git clone https://github.com/param20h/PDF-Assistant-RAG
cd PDF-Assistant-RAG
npm install
npm start
📋 安装步骤说明
  1. 访问 GitHub 仓库页面
  2. 按照 README 文档完成依赖安装
  3. 根据系统环境完成初始化配置
  4. 参考官方示例或文档开始使用
  5. 遇到问题可在 GitHub Issues 中查找解答
以下用法示例由 AI Skill Hub 整理,涵盖最常见的使用场景。
常用命令 / 代码示例
# 命令行使用
pdf-assistant-rag --help

# 基本用法
pdf-assistant-rag [options] <input>

# Node.js 代码中使用
const pdf_assistant_rag = require('pdf-assistant-rag');

const result = await pdf_assistant_rag.run(options);
console.log(result);
以下配置示例基于典型使用场景生成,具体参数请参照官方文档调整。
配置示例
# pdf-assistant-rag 配置说明
# 查看配置选项
pdf-assistant-rag --config-example > config.yml

# 常见配置项
# output_dir: ./output
# log_level: info
# workers: 4

# 环境变量(覆盖配置文件)
export PDF_ASSISTANT_RAG_CONFIG="/path/to/config.yml"
📑 README 深度解析 真实文档 完整度 70/100 含工作流图 查看 GitHub 原文 →
以下内容由系统直接从 GitHub README 解析整理,保留代码块、表格与列表结构。

简介

--- title: Document AI Analyst emoji: 🧠 colorFrom: indigo colorTo: purple sdk: docker app_port: 7860 pinned: true license: mit

short_description: Enterprise Agentic RAG — upload PDFs and chat with AI

<br/>

██████╗ ██████╗ ███████╗     █████╗ ███████╗███████╗██╗███████╗████████╗ █████╗ ███╗   ██╗████████╗
██╔══██╗██╔══██╗██╔════╝    ██╔══██╗██╔════╝██╔════╝██║██╔════╝╚══██╔══╝██╔══██╗████╗  ██║╚══██╔══╝
██████╔╝██║  ██║█████╗      ███████║███████╗███████╗██║███████╗   ██║   ███████║██╔██╗ ██║   ██║
██╔═══╝ ██║  ██║██╔══╝      ██╔══██║╚════██║╚════██║██║╚════██║   ██║   ██╔══██║██║╚██╗██║   ██║
██║     ██████╔╝██║         ██║  ██║███████║███████║██║███████║   ██║   ██║  ██║██║ ╚████║   ██║
╚═╝     ╚═════╝ ╚═╝         ╚═╝  ╚═╝╚══════╝╚══════╝╚═╝╚══════╝   ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═══╝   ╚═╝

                        ██████╗  █████╗  ██████╗
                        ██╔══██╗██╔══██╗██╔════╝
                        ██████╔╝███████║██║  ███╗
                        ██╔══██╗██╔══██║██║   ██║
                        ██║  ██║██║  ██║╚██████╔╝
                        ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝

🌟 Overview

PDF-Assistant-RAG is a complete, production-ready AI document assistant that lets users upload complex PDFs, financial reports, legal contracts, and research papers — then chat with an AI that provides accurate, cited answers powered by a multi-stage Retrieval-Augmented Generation pipeline.

The system uses hybrid search (vector + BM25) with Reciprocal Rank Fusion and cross-encoder reranking to find the most relevant document chunks, streams AI-generated answers token-by-token, and highlights exact source citations with page numbers — all inside a modern Next.js frontend with JWT-secured per-user data isolation.

<br/>

🔄 System Flow Overview

  1. User uploads a document via the Next.js frontend.
  2. FastAPI queues a Celery ingestion task backed by Redis.
  3. The worker chunks the document, generates local embeddings (cached via Redis/LRU), builds a BM25 index, and stores vectors in ChromaDB.
  4. At query time, hybrid search merges vector and BM25 results via Reciprocal Rank Fusion.
  5. A cross-encoder reranker refines the top candidates.
  6. The agent assembles a prompt and calls the HuggingFace Inference API.
  7. Streamed SSE tokens are returned to the frontend chat panel.

<br/>

✨ Key Features

Prerequisites

---

GPU-accelerated (requires NVIDIA Container Toolkit)

docker compose --profile gpu up --build

🚀 Getting Started

4. Run Locally (without Docker)

```bash

Docker

CommandDescription
docker compose --profile cpu up --buildFull stack — CPU only
docker compose --profile gpu up --buildFull stack — GPU accelerated
docker compose --profile debug upAlso start pgAdmin at http://localhost:5050
docker compose downStop all containers
GPU profile requires NVIDIA Container Toolkit.

<br/>

🌐 Deployment

2. Configure Environment

cp .env.example .env

Edit .env:

SECRET_KEY=your-strong-random-secret
DATABASE_URL=postgresql://pdf_rag_user:pdf_rag_pass@localhost:5432/pdf_rag
HF_TOKEN=hf_your_huggingface_token_here
UPLOAD_DIR=./data/uploads
CHROMA_PERSIST_DIR=./data/chroma_db
CELERY_BROKER_URL=redis://localhost:6379/0
CELERY_RESULT_BACKEND=redis://localhost:6379/1
Get your free HuggingFace token at huggingface.co/settings/tokens

Email Verification Setup (optional)

FRONTEND_URL=http://localhost:3000
MAIL_USERNAME=your_smtp_username
MAIL_PASSWORD=your_smtp_or_gmail_app_password
MAIL_FROM=your_sender_email@example.com
MAIL_SERVER=smtp.gmail.com
MAIL_PORT=587
MAIL_STARTTLS=True
MAIL_SSL_TLS=False

Without SMTP settings, registration returns a local verification link so contributors can test without email credentials.

5. Set up crawl4ai (URL Upload Feature — optional)

crawl4ai-setup

<br/>

📦 Environment Variables

VariableRequiredDefaultDescription
SECRET_KEYJWT signing secret. Generate: python -c "import secrets; print(secrets.token_urlsafe(32))"
HF_TOKENHuggingFace API token for LLM inference
DATABASE_URLsqlite:///./data/app.dbSQLAlchemy connection string (SQLite or PostgreSQL)
CELERY_BROKER_URLredis://localhost:6379/0Redis broker for Celery
CELERY_RESULT_BACKENDredis://localhost:6379/1Redis backend for Celery results
REDIS_URLRedis URL for response + embedding cache
UPLOAD_DIR./data/uploadsFile storage directory
CHROMA_PERSIST_DIR./data/chroma_dbChromaDB persistence directory
EMBEDDING_MODELsentence-transformers/all-MiniLM-L6-v2Local embedding model
EMBEDDING_CACHE_TTL86400Embedding cache TTL in seconds (24h)
LLM_MODELQwen/Qwen2.5-72B-InstructHuggingFace model for answer generation
LLM_TEMPERATURE0.3LLM sampling temperature
RERANKER_MODELBAAI/bge-reranker-v2-m3Cross-encoder reranker model
USE_HYBRID_SEARCHTrueEnable BM25 + vector hybrid search
RRF_K60RRF smoothing constant
CHUNK_SIZE1000Characters per document chunk
CHUNK_OVERLAP200Overlap between consecutive chunks
TOP_K_RETRIEVAL20Candidates retrieved from vector store
TOP_K_RERANK8Final chunks after reranking
VISION_PROVIDERSet to openai to use GPT-4o-mini for image captions
OPENAI_API_KEYRequired when VISION_PROVIDER=openai
ENVIRONMENTdevelopmentSet to production to lock CORS
FRONTEND_URLhttp://localhost:3000Public frontend URL for OAuth + email links
NEXT_PUBLIC_API_URLhttp://localhost:7860Backend URL injected at frontend build time

<br/>

📡 API Reference

MethodEndpointAuthDescription
POST/api/v1/auth/registerCreate a new user account
POST/api/v1/auth/loginLogin and receive JWT tokens
GET/api/v1/auth/meGet current user profile
POST/api/v1/documents/uploadUpload PDF/DOCX/TXT and enqueue ingestion (202)
POST/api/v1/documents/urluploadCrawl a URL and ingest as document
GET/api/v1/documents/List documents (pagination + ?q= name filter)
GET/api/v1/documents/{id}Get document metadata (incl. extracted URLs)
GET/api/v1/documents/{id}/statusPoll ingestion progress
DELETE/api/v1/documents/{id}Soft-delete document
POST/api/v1/chat/ask/streamAsk a question (SSE streaming)
GET/api/v1/chat/history/{doc_id}Get chat history for a document
DELETE/api/v1/chat/history/{doc_id}Clear chat history
GET/api/v1/chat/export/{doc_id}Export transcript as MD / TXT / PDF
GET/api/v1/chat/sessionsList chat sessions
POST/api/v1/chat/sessionsCreate chat session
GET/api/v1/health/statusDeep health check (DB, Redis, Celery, ChromaDB)
GET/api/healthBasic liveness check
Full interactive docs at /docs (Swagger UI) when running locally.

<br/>

AI / ML Pipeline

TechnologyPurpose
<img src="https://img.shields.io/badge/sentence--transformers-000000?style=flat" height="24"/>**sentence-transformers (all-MiniLM-L6-v2)**Generates vector embeddings for document chunks
<img src="https://img.shields.io/badge/ChromaDB-000000?style=flat" height="24"/>**ChromaDB**Stores + retrieves embeddings locally
<img src="https://img.shields.io/badge/HuggingFace-FFD21E?style=flat&logo=huggingface&logoColor=black" height="24"/>**HuggingFace Inference API**Generates answers from retrieved context
<img src="https://img.shields.io/badge/Cross--Encoder-000000?style=flat" height="24"/>**BAAI/bge-reranker-v2-m3**Cross-encoder reranking for retrieval quality
<img src="https://img.shields.io/badge/GraphRAG-000000?style=flat" height="24"/>**Knowledge Graph (GraphRAG)**Entity extraction + relationship graphs
<img src="https://img.shields.io/badge/PyMuPDF-FF0000?style=flat" height="24"/>**PyMuPDF + pdfplumber + python-docx**Document text extraction

🤖 RAG Pipeline

  • 🔪 Smart recursive text chunking (configurable size & overlap)
  • 🧠 Local embeddings — no data leaves your machine
  • Embedding cache (Redis + LRU) — skip redundant computation
  • 🔍 Hybrid search — vector + BM25 merged via RRF
  • 🏆 Cross-encoder reranking for precision answers
  • 🖼️ Image caption extraction from PDF figures
  • 🔗 URL extraction from PDF link annotations
  • 🗺️ Knowledge graph (GraphRAG) per document

</td> <td width="33%" valign="top">

🧠 RAG Pipeline

                    ┌─────────────────────────────────────────────┐
                    │         PDF / DOCX / TXT / MD Upload        │
                    └───────────────────┬─────────────────────────┘
                                        │
                                        ▼
                    ┌─────────────────────────────────────────────┐
                    │   PyMuPDF / pdfplumber / python-docx Parser │
                    │   + Image caption extraction                │
                    │   + PDF URL/link annotation extraction      │
                    └───────────────────┬─────────────────────────┘
                                        │
                                        ▼
                    ┌─────────────────────────────────────────────┐
                    │      Recursive Character Text Splitter      │
                    │   chunk_size=1000  |  overlap=200           │
                    └───────────────────┬─────────────────────────┘
                                        │
                                        ▼
                    ┌─────────────────────────────────────────────┐
                    │  all-MiniLM-L6-v2  (local embeddings)       │
                    │  384-dim · Redis + LRU cache (24h TTL)      │
                    └──────────────┬──────────────────────────────┘
                                   │
                    ┌──────────────┴──────────────┐
                    ▼                             ▼
         ┌──────────────────┐         ┌─────────────────────┐
         │ ChromaDB vectors │         │  BM25 keyword index │
         │ (per-user coll.) │         │  (per-document .pkl)│
         └──────────────────┘         └─────────────────────┘

                          ── At Query Time ──

  User Question ──▶ Embed (cached) ──▶ Vector Search (Top-K=20)
                         │
                         ├──▶ BM25 Search (Top-K=20)
                         │
                         ▼
              Reciprocal Rank Fusion (RRF, k=60)
                         │
                         ▼
          BGE-Reranker-v2-m3 Cross-Encoder (Top-K=8)
                         │
                         ▼
        Prompt Assembly (system + context + question)
                         │
                         ▼
        Qwen2.5-72B-Instruct (HF Inference API)
                         │
                         ▼
        Streamed SSE tokens ──▶ Frontend ChatPanel

<br/>

🇨🇳 中文文档镜像 AI 翻译 2026-07-02
英文原文章节由系统翻译为中文摘要,便于快速理解。完整原文见上方 "📑 README 深度解析"。
📌 简介

PDF-Assistant-RAG 是一个面向企业级应用的 Agentic RAG 文档助手。它能够处理复杂的 PDF、财务报告、法律合同及研究论文,并通过多阶段 Retrieval-Augmented Generation 流水线,为用户提供具备准确引用来源的 AI 对话体验。系统结合了语义搜索与 Cross-encoder 重排序技术,确保检索结果的高度相关性与回答的严谨性。

⚡ 功能介绍

本项目集成了先进的 RAG 技术栈,支持智能递归文本分块(Recursive Text Chunking),并采用本地 Embedding 技术确保数据隐私。通过两阶段检索机制(语义搜索 + Cross-encoder Rerank)与 Top-K 过滤,系统能够实现高精度的问答,并能根据自定义 System Prompts 生成带有原文引用的专业回答。

📋 环境依赖

在开始部署之前,请确保您的开发环境已安装以下必要组件:Python 3.11+ 用于后端逻辑处理,Node.js 20+ 用于前端界面运行,以及 HuggingFace Token 用于调用 LLM 推理 API。此外,建议使用 Docker 环境以简化复杂的依赖管理。

🛠 安装步骤(Docker/pip/源码)

您可以根据需求选择多种部署方式。推荐使用 Docker 进行快速部署,只需运行 `docker compose up --build` 即可构建并启动全栈服务;若需进行二次开发,也可通过源码方式安装,手动配置 Python 与 Node.js 环境并安装相关依赖。

🚀 使用教程

项目启动后,用户可以通过 Web 界面上传 PDF 文档。系统会自动进行文档解析与向量化处理。用户可以直接在对话框中针对文档内容进行提问,AI 将基于检索到的上下文片段进行回答,并标注出信息来源的引用位置,方便用户核实。

⚙️ 配置说明(含 MCP / env)

在运行前,必须配置环境变量以确保系统正常工作。请将 `.env.example` 复制为 `backend/.env` 并进行编辑。关键参数包括用于 JWT 签名的 `SECRET_KEY`、数据库连接地址 `DATABASE_URL` 以及用于调用 HuggingFace Inference API 的 `HF_TOKEN`。请务必妥善保管您的 Token 信息。

🔌 API 说明

本项目提供了一套完整的 RESTful API 接口,支持用户注册 (`/api/v1/auth/register`)、登录 (`/api/v1/auth/login`) 以及获取当前用户信息 (`/api/v1/auth/me`)。所有受保护的接口均需通过 JWT Token 进行身份验证,确保了企业级应用的安全访问控制。

🔄 工作流/模块

系统的 AI/ML 流水线采用了严谨的设计:首先利用 `all-MiniLM-L6-v2` 模型进行本地化句子嵌入(Embeddings),确保数据不出本地;随后通过语义搜索初步检索,并使用 `ms-marco-MiniLM-L-6-v2` Cross-encoder 进行重排序(Rerank),最后结合 Top-K 过滤与带有引用指令的 System Prompts,实现精准的 RAG 问答流程。

🎯 aiskill88 AI 点评 A 级 2026-05-29

高质量的PDF处理工具,值得推荐

📚 实用指南(长尾问题)
适合谁
  • 构建多智能体协作系统的 Agent 开发者
  • 构建企业知识库 / RAG 检索应用的团队
最佳实践
  • 生产部署优先使用 Docker Compose 隔离依赖,并挂载 volume 持久化数据
  • 分块大小建议 256-512 tokens,向量库优选 pgvector 或 Qdrant
  • Agent 任务先做 dry-run 验证工具调用链,再开启自主执行
常见错误
  • API key 直接提交到 git 仓库(请用 .env 并加入 .gitignore)
  • 容器内无法访问宿主机 localhost — 使用 host.docker.internal
  • embedding 模型与查询模型不一致导致检索失效
  • Python 依赖冲突:建议用 venv / uv 隔离环境
部署方案
  • Docker:PDF-Assistant-RAG 提供官方镜像,docker compose up 一键启动
  • CLI:直接 npm install -g / pip install,命令行调用
  • 云端托管:可放在 Vercel / Railway / Fly.io 等 PaaS 平台
相关搜索
PDF-Assistant-RAG 中文教程PDF-Assistant-RAG 安装报错怎么办PDF-Assistant-RAG Docker 部署PDF-Assistant-RAG Agent 工作流PDF-Assistant-RAG 与同类工具对比PDF-Assistant-RAG 最佳实践PDF-Assistant-RAG 适合谁用

⚡ 核心功能

👥 适合谁
  • 构建多智能体协作系统的 Agent 开发者
  • 构建企业知识库 / RAG 检索应用的团队
⭐ 最佳实践
  • 生产部署优先使用 Docker Compose 隔离依赖,并挂载 volume 持久化数据
  • 分块大小建议 256-512 tokens,向量库优选 pgvector 或 Qdrant
  • Agent 任务先做 dry-run 验证工具调用链,再开启自主执行
⚠️ 常见错误
  • API key 直接提交到 git 仓库(请用 .env 并加入 .gitignore)
  • 容器内无法访问宿主机 localhost — 使用 host.docker.internal
  • embedding 模型与查询模型不一致导致检索失效
  • Python 依赖冲突:建议用 venv / uv 隔离环境

👥 适合人群

AI 技术爱好者研究人员和学生开发者和工程师技术创业者

🎯 使用场景

  • 本地部署运行,保护数据隐私,满足合规要求
  • 自定义集成到现有系统,扩展技术栈能力
  • 作为开源基础组件进行商业化二次开发

⚖️ 优点与不足

✅ 优点
  • +MIT 协议,可免费商用
  • +完全开源免费,无授权费用
  • +本地部署,数据完全自主可控
  • +开发者社区支持,遇问题可查可问
⚠️ 不足
  • 安装和初始配置可能需要一定技术基础
  • 功能完整性通常不如成熟商业产品
  • 技术支持主要依赖开源社区,响应速度不稳定
⚠️ 使用须知

AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。

建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。

📄 License 说明

✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。

🔗 相关工具推荐

📰 相关 AI 新闻
🍿 AI 圈相关吃瓜
🗺️ 相关解决方案
🧩 你可能还需要
基于当前 Skill 的能力图谱,自动补全的工具组合

❓ 常见问题 FAQ

参考项目文档和示例代码
💡 AI Skill Hub 点评

总体来看,PDF-Assistant-RAG AI技能包 是一款质量优秀的AI工具,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。

📚 深入学习 PDF-Assistant-RAG AI技能包
查看分步骤安装教程和完整使用指南,快速上手这款工具
🌐 原始信息
原始名称 PDF-Assistant-RAG
原始描述 开源AI工具:PDF-Assistant-RAG is a complete, production-ready AI document assistant that let。⭐12 · TypeScript
Topics pdftypescriptfastapinextjs
GitHub https://github.com/param20h/PDF-Assistant-RAG
License MIT
语言 TypeScript
🔗 原始来源
🐙 GitHub 仓库  https://github.com/param20h/PDF-Assistant-RAG 🌐 官方网站  https://param20h-pdf-assit-rag.hf.space

收录时间:2026-05-18 · 更新时间:2026-05-19 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。

📺 订阅 AI Skill Hub Daily Telegram 频道
每天 8 条精选 AI Skill、MCP、Agent 与自动化工具推送
加入频道 →