能力标签
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 semantic search + 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 sleek Next.js UI with JWT-secured per-user data isolation.

<br/>

✨ Key Features

Prerequisites

  • Python Python 3.11+
  • Node.js Node.js 20+
  • HuggingFace HuggingFace account (free) for LLM inference

---

🚀 Getting Started

4. Run with Docker

```bash docker compose up --build

Docker

CommandDescription
docker compose up --buildBuild and start the full stack
docker compose downStop all containers

<br/>

🌐 Deployment

This project is deployed on HuggingFace Spaces using Docker.

2. Configure Environment

cp .env.example backend/.env

Edit backend/.env:

SECRET_KEY=your-strong-random-secret
DATABASE_URL=sqlite:///./data/app.db
HF_TOKEN=hf_your_huggingface_token_here
UPLOAD_DIR=./data/uploads
CHROMA_PERSIST_DIR=./data/chroma_db
Get your free HuggingFace token at huggingface.co/settings/tokens

📦 Environment Variables

VariableRequiredDefaultDescriptionWhere to Get It
SECRET_KEYJWT signing & session secret. Use a strong random string.Generate: python -c "import secrets; print(secrets.token_urlsafe(32))"
HF_TOKENHuggingFace API token for LLM inference via Inference API.[huggingface.co/settings/tokens](https://huggingface.co/settings/tokens) (free)
ENVIRONMENTdevelopmentRuntime mode. Set to production for deployment to lock CORS.
DEBUGFalseEnable debug mode with detailed error pages. Never enable in production.
ALLOWED_ORIGINShttp://localhost:3000,http://localhost:7860Comma-separated CORS origins (only enforced in production).Your deployed domain(s)
DATABASE_URLsqlite:///./data/app.dbSQLAlchemy database connection string.SQLite (default), or your Postgres/MySQL connection string
JWT_ALGORITHMHS256JWT signing algorithm.
JWT_EXPIRY_HOURS72JWT token lifetime in hours before re-login is required.
UPLOAD_DIR./data/uploadsLocal directory for storing uploaded documents.
MAX_FILE_SIZE_MB50Maximum allowed upload file size in MB.
ALLOWED_EXTENSIONSpdf,docx,txt,mdComma-separated list of permitted file extensions.
CHROMA_PERSIST_DIR./data/chroma_dbDirectory where ChromaDB persists its vector index.
LLM_MODELQwen/Qwen2.5-72B-InstructHuggingFace model ID for answer generation.[huggingface.co/models](https://huggingface.co/models?inference=warm&sort=trending)
LLM_TEMPERATURE0.3LLM sampling temperature (0 = deterministic, 1 = creative).
LLM_MAX_NEW_TOKENS1024Maximum tokens per LLM response.
EMBEDDING_MODELsentence-transformers/all-MiniLM-L6-v2SentenceTransformer model for local embeddings (no external API).[huggingface.co/sentence-transformers](https://huggingface.co/sentence-transformers)
EMBEDDING_DIMENSION384Embedding vector dimension (must match the model).
RERANKER_MODELcross-encoder/ms-marco-MiniLM-L-6-v2Cross-encoder model for reranking retrieved chunks by relevance.[huggingface.co/cross-encoder](https://huggingface.co/cross-encoder)
CHUNK_SIZE1000Characters per document chunk. Larger = more context, smaller = better precision.
CHUNK_OVERLAP200Overlap between consecutive chunks to maintain boundary context.
TOP_K_RETRIEVAL10Candidate chunks retrieved from vector store during semantic search.
TOP_K_RERANK5Final chunks passed to the LLM after reranking (must be ≤ TOP_K_RETRIEVAL).

<br/>

→ API running at http://localhost:8000

📡 API Reference

MethodEndpointAuthDescription
POST/api/v1/auth/registerCreate a new user account
POST/api/v1/auth/loginLogin and receive JWT token
GET/api/v1/auth/meGet current user profile
POST/api/v1/documents/uploadUpload PDF/DOCX and trigger indexing
GET/api/v1/documentsList all documents for current user
DELETE/api/v1/documents/{id}Delete a document and its vector data
POST/api/v1/chat/ask/streamAsk a question (SSE streaming response)
GET/api/v1/chat/history/{doc_id}Get chat history for a document
DELETE/api/v1/chat/history/{doc_id}Clear chat history for a document
GET/healthHealth check (db + chroma status)
Full interactive docs available at /docs (Swagger UI) when running locally.

<br/>

AI / ML Pipeline

TechnologyPurpose
<img src="https://img.shields.io/badge/MiniLM-L6-v2-FFD21E?style=flat" height="24"/>**all-MiniLM-L6-v2**Local sentence embeddings
<img src="https://img.shields.io/badge/ms--marco--MiniLM-1C3C3C?style=flat" height="24"/>**ms-marco-MiniLM-L-6-v2**Cross-encoder reranker
<img src="https://img.shields.io/badge/Qwen2.5-72B-Instruct-626BDF?style=flat" height="24"/>**Qwen2.5-72B-Instruct**LLM (HuggingFace Inference API)
<img src="https://img.shields.io/badge/PyMuPDF-FF0000?style=flat" height="24"/>**PyMuPDF + python-docx**Document parsing

🤖 RAG Pipeline

  • 🔪 Smart recursive text chunking (configurable size & overlap)
  • 🧠 Local embeddings — no data leaves your machine
  • 🔍 Two-stage retrieval — semantic search → cross-encoder rerank
  • ✂️ Top-K filtering for precision answers
  • 📝 Custom system prompts with citation instructions
  • 🧾 Source scoring with confidence levels

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

🧠 RAG Pipeline

                    ┌─────────────────────────────────────────────┐
                    │              PDF / DOCX Upload               │
                    └───────────────────┬─────────────────────────┘
                                        │
                                        ▼
                    ┌─────────────────────────────────────────────┐
                    │         PyMuPDF / python-docx Parser         │
                    │         (text extraction per page)           │
                    └───────────────────┬─────────────────────────┘
                                        │
                                        ▼
                    ┌─────────────────────────────────────────────┐
                    │      Recursive Character Text Splitter       │
                    │   chunk_size=1000  |  overlap=200            │
                    └───────────────────┬─────────────────────────┘
                                        │
                                        ▼
                    ┌─────────────────────────────────────────────┐
                    │    all-MiniLM-L6-v2  (local embeddings)      │
                    │    384-dim dense vectors                      │
                    └───────────────────┬─────────────────────────┘
                                        │
                                        ▼
                    ┌─────────────────────────────────────────────┐
                    │   ChromaDB  — per-user persistent collection │
                    └─────────────────────────────────────────────┘

                              ── At Query Time ──

  User Question ──▶ Embed ──▶ Semantic Search (Top-K=10)
                                        │
                                        ▼
                         Cross-Encoder Reranker (Top-K=5)
                         ms-marco-MiniLM-L-6-v2
                                        │
                                        ▼
                    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 平台

⚡ 核心功能

  • 开源免费,支持本地部署,数据完全自主可控
  • 活跃的 GitHub 开源社区,持续迭代更新
  • 提供详细文档和使用示例,新手友好
  • 支持自定义配置,灵活适配不同使用环境
  • 可作为基础组件集成进现有技术栈或进行二次开发
👥 适合谁
  • 构建多智能体协作系统的 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 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。

❓ 常见问题 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 不对第三方内容的准确性作法律背书。