本章收录 AI 应用的底层工程能力:文档解析、OCR、RAG 数据准备、本地推理、模型接入、向量检索和计算机视觉工具。真实 AI 项目里,这些能力通常比“换一个更强模型”更影响最终效果。
1. 文档解析
RAG 项目最常见的问题不是模型不会回答,而是文档没有被正确解析。评估解析器时建议用同一批真实文档做横向测试:扫描版 PDF、含表格报告、含公式论文、中文合同、图文混排说明书。
| 项目 | 简介 | 备注 |
|---|---|---|
| microsoft/markitdown | 把 Office、PDF、HTML 等文件转成 RAG 友好的 Markdown | 扫描件和复杂表格需实测 |
| opendatalab/MinerU | 解析 PDF、论文、报告中的公式、表格和图片,输出 Markdown/JSON | 模型和资源依赖较多 |
| PaddlePaddle/PaddleOCR | 中文 OCR、版面分析、表格识别和关键信息抽取 | Paddle 部署栈较重 |
| run-llama/liteparse | 轻量文档解析,衔接 LlamaIndex/RAG 链路 | 新项目,复杂文档表现需验证 |
| opendataloader-project/opendataloader-pdf | AI-ready PDF 解析,输出 Markdown、JSON 和 bbox | 多语言和复杂 PDF 表现需复核 |
2. 本地推理与模型服务
| 项目 | 简介 | 备注 |
|---|---|---|
| ollama/ollama | 本地运行开源大模型的事实标准入口,一条命令拉取和运行模型 | |
| vllm-project/vllm | 高吞吐 LLM 推理和服务引擎,生产环境自托管模型的主流选择 | 需要 GPU 资源 |
| unslothai/unsloth | 低显存、高速度的模型微调框架 | |
| LMCache/LMCache | KV Cache 复用和 vLLM 侧推理加速 | 与推理框架和 GPU 版本强相关 |
| lyogavin/airllm | 低显存推理和 Offload 思路的参考实现 | 适合资源受限实验 |
3. 模型接入与选型
| 项目 | 简介 | 备注 |
|---|---|---|
| andrewyng/aisuite | 用统一接口接入多家模型服务 | 抽象层较薄,受 Provider API 变更影响 |
| Andyyyy64/whichllm | 根据本地硬件辅助选择合适的本地模型 |
4. RAG 与数据采集
RAG 系统需要稳定的数据入口。网页采集项目不能只看抓取能力,还要看合规边界:是否尊重 robots 和站点条款、是否需要登录态或 Cookie、是否保存用户隐私数据、能否做增量更新和失败重试。
| 项目 | 简介 | 备注 |
|---|---|---|
| D4Vinci/Scrapling | 能适应页面变化的网页采集库,可作为 RAG 数据入口 | 必须遵守 robots、ToS 和法律边界 |
| RyanCodrai/turbovec | 本地 RAG 的 Rust/Python 向量检索组件 | 建议与成熟向量库做基准对比 |
| StarTrail-org/PixelRAG | Pixel-native Search 和多模态 RAG 探索 | 项目成熟度需验证 |
5. 计算机视觉工具
roboflow/supervision 是实用性很高的计算机视觉工具库。它不绑定单一模型,而是围绕检测、分割、跟踪、标注、可视化和数据处理提供通用组件,适合视频分析、目标检测、工业质检等场景。
6. 语音与多模态模型
| 项目 | 简介 | 备注 |
|---|---|---|
| OpenBMB/VoxCPM | 多语种 TTS 和声音克隆模型 | 必须处理声音授权和滥用风险 |
| Open-LLM-VTuber/Open-LLM-VTuber | 本地 LLM、语音交互和 Live2D 结合的完整应用样板 | 不要使用未经授权的声音和角色素材 |
| maziyarpanahi/openmed | 医疗方向的本地 AI 模型集合 | 医疗场景高风险,仅适合研究和合规评估 |
7. 实践建议
- 先做文档解析评测,再做向量库和问答。
- 不用公开 demo 文档评估解析器,必须用自己的真实文档。
- RAG 项目要保存解析中间产物,便于定位错误来自 OCR、切块、检索还是模型。
- 推理优化类项目先做小压测,再决定是否引入生产链路。