用途:把一整个文档文件夹构建成可语义检索的知识库,适合技术标准库(API、ISO、ASME 等)、工程文档和历史扫描件的智能搜索。
主要能力:普通 PDF 文本提取(PyMuPDF);扫描/图像型 PDF 的 OCR(Tesseract + pytesseract);DRM 加密文件检测;带重叠的文本分块(1000 字符、200 重叠);向量嵌入(sentence-transformers);SQLite 存储与全文检索;余弦相似度语义搜索。
使用方式:先安装系统依赖(Ubuntu/Debian:sudo apt-get install -y tesseract-ocr tesseract-ocr-eng poppler-utils;macOS:brew install tesseract poppler;用 tesseract --version 验证),再安装 Python 依赖:pip install PyMuPDF pytesseract Pillow sentence-transformers numpy tqdm。构建知识库:python build_knowledge_base.py /path/to/documents --embed;跳过 OCR 可加 --no-ocr;搜索:python build_knowledge_base.py /path/to/documents --search "your query",可用 --top-k 控制返回条数。脚本按清单、提取、OCR、分块、嵌入、语义搜索的顺序执行,数据库默认名为 _inventory.db。
限制与注意事项:资料未提供收费、价格或平台信息。CUDA 不可用时可设置 CUDA_VISIBLE_DEVICES="" 强制 CPU;Tesseract 未安装会报错;DRM 保护文件会以 drm_protected 标记并跳过;SQLite 并发访问需使用 timeout=30 避免锁定;大库检索采用随机抽样(默认 50000 条)而非全量比对,可能影响召回完整性。性能数据在资料中仅部分给出(约每秒 50 页)。