FlockParse - 利用分布式处理实现文档RAG(检索增强生成)智能
](https://pypi.org/project/flockparser/) ](https://pypi.org/project/flockparser/)       ](https://github.com/BenevolentJoker-JohnL/FlockParser)
分布式文档RAG系统,将不匹配的硬件整合为协同推理集群。 自动发现Ollama节点,智能地在异构GPU/CPU之间分配工作负载,并通过自适应负载均衡实现60倍以上的加速。以隐私为先,支持本地/网络/云接口。
这与众不同的地方在于: 真正的分布式系统工程——不仅仅是API封装。它能处理异构硬件(RTX A4000 + GTX 1050Ti + CPU笔记本电脑协同工作)、网络故障以及排除云API的隐私要求。
______________________________________________________________________
⚠️ 重要提示:当前到期日
状态: Beta(v1.0.0)- 欢迎早期采用者,但请先阅读此内容!
行之有效的方法:
- ✅ 在异构节点上进行核心分布式处理
- ✅ GPU检测和带VRAM感知的路由
- ✅ 基本的PDF提取功能及OCR作为备用方案
- ✅ 首选隐私的本地处理(CLI/网页界面模式)
已知限制:
- ⚠️ 有限的战斗测试 - 由约2名开发人员测试,尚未在大规模上验证
- ⚠️(警告符号,无具体文字含义,可理解为“注意”或“警告”) 安全漏洞 - 看 \
SECURITY.md\翻译为中文是“安全说明文件”或“安全指南文件”。这个文件通常用于阐述项目或软件的安全相关事项,包括安全漏洞报告流程、安全最佳实践、安全更新等信息 由于当前的限制 - ⚠️ 边缘情况 - 某些PDF类型可能会失败(加密、复杂布局)
- ⚠️ 测试覆盖率 - 覆盖率约40%,集成测试不完整
使用前请阅读: KNOWN_ISSUES.md 翻译为中文是:“已知问题.md” 诚实地记录所有限制条件、边界情况和路线图。
推荐给:
- 🎓 学习分布式系统
- 🔬 研究与实验
- 🏠 个人项目,涉及非关键数据
- 🛠️ 希望助力项目成熟的贡献者
尚未建议用于:
- ❌ 关键任务生产工作负载
- ❌ 受监管行业(医疗、金融)未采取额外加固措施
- ❌ 大规模部署(>50个并发用户)
帮助我们改进: 报告问题,贡献修复方案,分享反馈!
______________________________________________________________________
📹 演示视频(76秒)
观看FlockParser的运行实例: 372秒 → 6秒(速度提升61.7倍) 通过自动GPU路由。

你将会看到:
- 单CPU节点(372.76秒)→ 并行处理(159.79秒)→ GPU路由(6.04秒)
- 实时文档处理,屏幕显示可见时间
- 分布式聊天功能以及与Claude Desktop的MCP集成
- 无编辑技巧——所有时间均实时显示
📊 快速性能参考
| 工作负载 | 硬件 | 时间 | 速度提升 | 备注 |
|---|---|---|---|---|
| 5篇人工智能论文(约350页) | 1× RTX A4000(16GB) | 21.3秒 | 17.5倍 | 真实的arXiv展示 |
| 12页PDF(演示视频) | 1× RTX A4000(16GB) | 6.0秒 | 61.7倍 | GPU感知路由 |
| 100份PDF文件(共2000页) | 3节点集群(混合) | 3.2分钟 | 13.2× | 看 BENCHMARKS.md 翻译为中文是:“基准测试.md” |
| 嵌入生成 | RTX A4000 对比 i9 CPU | 8.2秒对比178秒 | 21.7× | 10K 块 |
🎯 亲自尝试一下: pip install flockparser && python showcase/process_arxiv_papers.py
______________________________________________________________________
🔒 隐私模型
| 接口 | 隐私级别 | 外部调用 | 最适合用于 | |||
|---|---|---|---|---|---|---|
| 中文翻译 | 中文译文 | 中文译文 | 中文译文 | ** | CLI(Command Line Interface,命令行界面)flockparsecli.py( ) | 绿色(🟢)** 100%本地 |
| 无 | 个人使用,断网系统 | ** | Web 用户界面(或网页界面)flock_webui.py( ) | 绿色(🟢)** 100%本地化 | ||
| 无 | 图形用户界面(GUI)用户,视觉监控 | ** | REST API(Representational State Transfer Application Programming Interface,表述性状态传递应用程序编程接口)flock_ai_api.py( ) | 🟡** 局域网 | ||
| 无 | 多用户,应用集成 | ** | MCP服务器flock_mcp_server.py( ) | 🔴** 云 |
| ⚠️ Claude Desktop(Anthropic)| AI助手集成 | ⚠️ MCP隐私警告:
______________________________________________________________________
MCP服务器与Claude Desktop集成,Claude Desktop将查询和文档片段发送到Anthropic的云API。使用CLI/网页界面进行100%离线处理。
- 目录
- 关键特性 👥 谁在使用这个? -
- 目标用户及使用场景 📐 工作原理(5秒速览) -
- 为非技术评估者提供的可视化内容 建筑学 |
- 📖 深入探讨:架构与设计决策
- 快速入门
- 性能与基准测试 🎓 展示:现实世界中的实例 ⭐
- 自己试试看
- 使用示例
- 安全与生产
- 故障排除
做出贡献
- ⚡ 主要特点 🌐 智能负载均衡
- - 自动发现Ollama节点,检测GPU与CPU,监控VRAM,并自适应路由工作(在异构集群上速度提升10倍) 🔌 多协议支持
- - CLI(100%本地)、REST API(网络)、MCP(Claude桌面)、Web UI(Streamlit)——选择您的隐私级别 🎯 自适应路由
- - 基于集群特性的顺序决策与并行决策(防止慢节点成为瓶颈) 📊 生产可观测性
- - 实时健康评分、性能追踪、VRAM(视频随机存取存储器)监控、自动故障转移 🔒 隐私优先架构
- 无需外部API调用(CLI模式),所有处理均在本地进行 📄 完整流程(或:完整管道)
______________________________________________________________________
- PDF提取 → OCR作为备用方案 → 多格式转换 → 向量嵌入 → 带来源引用的RAG(检索增强生成)
👥 谁在使用这个? FlockParser是为需要(进行相关工作)的工程师和研究人员设计的 私有、本地部署的文档智能系统 和;与真正的分布式系统能力
。
理想用户 | 用户类型 | 使用场景 | 为何选择FlockParser? | |-----------|----------|------------------| | 🔬 机器学习/人工智能工程师 | 处理研究论文,构建知识库,尝试RAG(检索增强生成)系统 | 支持GPU感知的路由,嵌入速度提升21倍,实现全流程控制 | | 📊 数据科学家 | 从大型文档语料库(数百至数千份PDF)中提取见解 | 分布式处理、语义搜索、生产可观测性 | | 企业工程师 | 合规行业(医疗、法律、金融)的本地文档搜索 | 100%本地处理,无需云API,隐私优先架构 | | 🎓 研究人员 | 构建自定义RAG系统,尝试分布式推理模式 | 全源代码访问,可扩展架构,真实基准测试 | | 🛠️ DevOps/平台工程师 | 为团队建立文档智能基础设施 | 多节点设置、健康监控、自动故障转移 | | 👨💻 学生/学习者
| 理解分布式系统、GPU编排、RAG架构 | 实际工作示例,全面文档,诚实地说明局限性 |
现实世界场景 ✅ “我有500篇研究论文和一台闲置的GPU机器” → 使用分布式节点,使您的语料库处理速度提高20倍 ✅ “我不能向OpenAI发送医疗记录” → 100% 本地处理(CLI/网页界面模式) ✅ “我想在不产生云服务费用的情况下尝试使用RAG(检索增强生成)” → 完整流水线,运行在您的硬件上 ✅ “我需要搜索一万份内部文件” → ChromaDB向量搜索,延迟低于20毫秒 ✅ “我的硬件配置不匹配(旧笔记本电脑+游戏电脑)”
→ 自适应路由处理异构集群
不理想用于 ❌(表示错误或否定的符号,无直接对应中文翻译,可理解为“错误”或“否”) 支持1000+并发用户的生产级SaaS(软件即服务) → 当前 SQLite 后端限制并发数量(约50个用户) ❌ 关键任务系统,要求99.9%的正常运行时间 → 仍在测试阶段,请参阅 KNOWN_ISSUES.md 翻译为中文是:已知问题.md ❌ 简单的单次PDF提取 pdfplumber → 过度杀伤;使用 直接 ❌(这个符号在中文中通常表示“错误”或“禁止”的意思,但直接翻译时无法给出具体的中文词汇,因为它是一个图形符号。) 以云为先的部署
→ 专为本地/混合部署设计;云环境也能工作,但无法享受GPU路由的优势 简而言之:
______________________________________________________________________
如果您正在使用自有硬件构建文档智能基础设施,并且需要具备隐私保障的分布式处理能力,那么FlockParser正是您的理想选择。
📐 工作原理(5秒速览)
┌─────────────────────────────────────────────────────────────────┐
│ INPUT │
│ 📄 Your Documents (PDFs, research papers, internal docs) │
└────────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ FLOCKPARSER │
│ │
│ 1. Extracts text from PDFs (handles scans with OCR) │
│ 2. Splits into chunks, creates vector embeddings │
│ 3. Distributes work across GPU/CPU nodes (auto-discovery) │
│ 4. Stores in searchable vector database (ChromaDB) │
│ │
│ ⚡ Distributed Processing: 3 nodes → 13× faster │
│ 🚀 GPU Acceleration: RTX A4000 → 61× faster than CPU │
│ 🔒 Privacy: 100% local (no cloud APIs) │
└────────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ OUTPUT │
│ 🔍 Semantic Search: "Find all mentions of transformers" │
│ 💬 AI Chat: "Summarize the methodology section" │
│ 📊 Source Citations: Exact page/document references │
│ 🌐 4 Interfaces: CLI, Web UI, REST API, Claude Desktop │
└─────────────────────────────────────────────────────────────────┘对于招聘人员和非技术评估者: 关键创新:
______________________________________________________________________
自动检测GPU节点,测量性能,并将工作分配给最快的硬件。无需手动配置。
┌─────────────────────────────────────────────────────────────┐
│ Interfaces (Choose Your Privacy Level) │
│ CLI (Local) | REST API (Network) | MCP (Claude) | Web UI │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ FlockParse Core Engine │
│ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ PDF │ │ Semantic │ │ RAG │ │
│ │ Processing │→ │ Search │→ │ Engine │ │
│ └─────────────┘ └──────────────┘ └──────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌───────────────────────────────────────────────────┐ │
│ │ ChromaDB Vector Store (Persistent) │ │
│ └───────────────────────────────────────────────────┘ │
└──────────────────────┬──────────────────────────────────────┘
│ Intelligent Load Balancer
│ • Health scoring (GPU/VRAM detection)
│ • Adaptive routing (sequential vs parallel)
│ • Automatic failover & caching
▼
┌──────────────────────────────────────────────┐
│ Distributed Ollama Cluster │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Node 1 │ │ Node 2 │ │ Node 3 │ │
│ │ GPU A │ │ GPU B │ │ CPU │ │
│ │16GB VRAM │ │ 8GB VRAM │ │ 16GB RAM │ │
│ │Health:367│ │Health:210│ │Health:50 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└──────────────────────────────────────────────┘
▲ Auto-discovery | Performance tracking🏗️ 建筑 想知道这是怎么运作的吗? 阅读 📖 深入探索建筑学
- 关于以下内容的详细解释:
- 为什么分布式AI推理能解决现实世界中的问题
- 自适应路由决策是如何制定的(顺序对比并行)
- MCP(多渠道计划/营销通信平台等,具体含义根据上下文确定)集成详情及隐私影响
技术权衡与设计决策
🚀 快速入门(3步)
- 要求:
- Python 3.10 或更高版本 Ollama 0.1.20+(从(某处)安装ollama.com(这个网址本身在中文中通常不直接翻译,但可以解释为“奥拉玛网站”或保持原样,因为网址通常是品牌或特定项目的名称,直接翻译可能失去其原意)
- )
# 1. Install FlockParser
pip install flockparser
# 2. Start Ollama and pull models
ollama serve # In a separate terminal
ollama pull mxbai-embed-large # Required for embeddings
ollama pull llama3.1:latest # Required for chat
# 3. Run your preferred interface
flockparse-webui # Web UI - easiest (recommended) ⭐
flockparse # CLI - 100% local
flockparse-api # REST API - multi-user
flockparse-mcp # MCP - Claude Desktop integration4GB+ 内存(建议GPU节点使用8GB+) 💡 小贴士:
______________________________________________________________________
从Web用户界面开始,实时监控VRAM并查看节点健康状况仪表板,以体验分布式处理。
备选方案:从源代码安装
git clone https://github.com/BenevolentJoker-JohnL/FlockParser.git
cd FlockParser
pip install -e . # Editable install如果你想贡献或修改代码:
# Start the CLI
python flockparsecli.py
# Process the sample PDF
> open_pdf testpdfs/sample.pdf
# Chat with it
> chat
🙋 You: Summarize this document快速测试(30秒) 第一次吗?streamlit run flock_webui.py从Web用户界面开始
______________________________________________________________________
- 这是通过可视化仪表板观察分布式处理实际运行的最简单方式。
🐳 Docker 部署(一条命令)
# Clone and deploy everything
git clone https://github.com/BenevolentJoker-JohnL/FlockParser.git
cd FlockParser
docker-compose up -d
# Access services
# Web UI: http://localhost:8501
# REST API: http://localhost:8000
# Ollama: http://localhost:11434使用 Docker Compose 快速入门
被部署的是什么 | 服务 | 端口 | 描述 | |---------|------|-------------| |(无对应中文)|(无对应中文)|(无对应中文)| | Web用户界面(Web UI) | 8501 | 带有可视化监控功能的Streamlit界面 | | REST API(Representational State Transfer Application Programming Interface,表述性状态传递应用程序编程接口) | 8000 | 带认证的FastAPI | | CLI(Command Line Interface,命令行界面) | - | 交互式终端(docker-compose 运行 cli)| |
Ollama(注:Ollama是一个开源的机器学习框架,用于训练和部署机器学习模型,此处直接保留原英文名,因其在特定领域内为专有名词)
| 11434 | 本地LLM推理引擎 | 生产特点 ✅ 多阶段构建 - 优化了图像尺寸 ✅ 非root用户 - 安全加固 ✅ 健康检查 - 故障时自动重启 ✅ 音量持久性 - 数据在重启后仍然保留 ✅
GPU支持
# Set API key
export FLOCKPARSE_API_KEY="your-secret-key"
# Set log level
export LOG_LEVEL="DEBUG"
# Deploy with custom config
docker-compose up -d- 取消注释NVIDIA GPU的部署部分
自定义配置 docker-compose.ymlGPU支持(NVIDIA)
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]取消注释(或启用)GPU部分中的内容 docker-compose up -d
:
graph LR
A[📝 Git Push] --> B[🔍 Lint & Format]
B --> C[🧪 Test Suite]
B --> D[🔒 Security Scan]
C --> E[🐳 Build Multi-Arch]
D --> E
E --> F[📦 Push to GHCR]
F --> G[🚀 Deploy]
style A fill:#4CAF50
style B fill:#2196F3
style C fill:#2196F3
style D fill:#FF9800
style E fill:#9C27B0
style F fill:#9C27B0
style G fill:#F44336然后运行: main持续集成/持续交付流水线(CI/CD Pipeline)
每次推送时自动执行 : | 阶段 | 工具 | 目的 | |-------|-------|---------| | 代码质量 | black, flake8, mypy | 强制执行格式化和类型标准 | | 测试 | pytest(适用于 Python 3.10/3.11/3.12)| 各版本覆盖率78% | | 安全 | Trivy | 漏洞扫描 & SARIF 报告 | | 构建 | Docker Buildx | 多架构(amd64,arm64) | | 注册表 | GitHub 容器注册表 | 带版本的镜像存储 | |
部署
docker pull ghcr.io/benevolentjoker-johnl/flockparser:latest| 在发布事件上 | 自动化生产部署 | 拉取最新镜像:
______________________________________________________________________
查看管道运行情况:
https://github.com/BenevolentJoker-JohnL/FlockParser/actions 的中文翻译可以是:“GitHub上的BenevolentJoker-JohnL/FlockParser项目的操作(或动作)页面”。不过,通常我们不会直接翻译网址,而是说明其内容或用途。所以,也可以表述为:“这是GitHub上BenevolentJoker-JohnL用户(或组织)的FlockParser项目中的操作(或动作)页面,用于查看项目构建、测试等自动化流程的状态和历史。” 🌐 部署分布式节点
想要60倍的加速吗?
在网络中设置多个Ollama节点。
# 1. Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
# 2. Configure for network access
export OLLAMA_HOST=0.0.0.0:11434
ollama serve
# 3. Pull models
ollama pull mxbai-embed-large
ollama pull llama3.1:latest
# 4. Allow firewall (if needed)
sudo ufw allow 11434/tcp # Linux快速多节点设置
在每台额外的机器上:
python flockparsecli.py
> lb_stats # Shows all discovered nodes and their capabilitiesFlockParser 将自动发现这些节点! 请与以下人员确认: 📖 完整指南: 见
- DISTRIBUTED_SETUP.md 翻译为中文是:“分布式设置说明文件”或“分布式配置指南”。这里,“DISTRIBUTED_SETUP”指的是与分布式系统或分布式环境相关的设置或配置,而“.md”是Markdown文件格式的扩展名,通常用于编写文档或说明
- 对于:
- 逐步的多机器设置
- 网络配置和防火墙规则
- 解决节点发现问题
______________________________________________________________________
示例设置(从经济型家庭实验室到专业集群)
- 用于自动优化的GPU路由器配置
flock_webui.py🔒 按界面划分的隐私级别:Web 用户界面 ( - )
flockparsecli.py🟢 100%本地运行,直接在您的浏览器中执行CLI(命令行界面) - )
flock_ai_api.py🟢 100%本地化,无外部调用REST API( - )
flock_mcp_server.py🟡 仅限局域网MCP 服务器(
)
🔴 与Claude桌面版(Anthropic云服务)集成
选择符合您隐私需求的界面! 🏆 为什么选择FlockParse?与竞争对手的对比 | 特性 | FlockParse(可译为“Flock解析器”或根据具体上下文调整为更贴切的名称) | LangChain | LlamaIndex | Haystack | |---------|---------------|-----------|------------|----------| | 100%本地/离线 | ✅ 是(CLI/JSON)| ⚠️ 部分支持 | ⚠️ 部分支持 | ⚠️ 部分支持 | | 零外部API调用 | ✅ 是(CLI/JSON)| ❌ 否 | ❌ 否 | ❌ 否 | | 内置GPU负载均衡 | ✅ 是(自动)| ❌ 否 | ❌ 否 | ❌ 否 | | VRAM 监控 | ✅ 是(动态)| ❌ 否 | ❌ 否 | ❌ 否 | | 多节点自动发现 | ✅ 是 | ❌ 否 | ❌ 否 | ❌ 否 | | CPU降级检测 | ✅ 是 | ❌ 否 | ❌ 否 | ❌ 否 | | 文档格式导出 | ✅ 4种格式 | ❌ 有限 | ❌ 有限 | ⚠️ 基本 | | 设置复杂性 | 🟢 简单 | 🔴 复杂 | 🔴 复杂 | 🟡 中等 | | 依赖项 | 🟢 最少 | 🔴 重度 | 🔴 重度 | 🟡 中度 | | 学习曲线 | 🟢 低 | 🔴 陡峭 | 🔴 陡峭 | 🟡 中等 | | 隐私控制 | 🟢 高(CLI/JSON) | 🔴 有限 | 🔴 有限 | 🟡 中 | | 开箱即用功能 | ✅ 已完成 | ⚠️ 需要配置 | ⚠️ 需要配置 | ⚠️ 需要配置 | | MCP集成 | ✅ 本地 | ❌ 否 | ❌ 否 | ❌ 否 | | 嵌入缓存 | ✅ 基于MD5 | ⚠️ 基础 | ⚠️ 基础 | ⚠️ 基础 | | 批处理 | ✅ 并行 | ⚠️ 顺序 | ⚠️ 顺序 | ⚠️ 基本 | | 演出 | 🚀 使用GPU自动布线,速度提升60倍以上 | ⚠️ 根据配置不同而有所变化 | ⚠️ 根据配置不同而有所变化 | ⚠️ 根据配置不同而有所变化 | |
成本
- | 💰 免费 | 💰💰 免费+付费 | 💰💰 免费+付费 | 💰💰 免费+付费 |关键差异化因素:
- “隐私设计”(Privacy by Design)CLI和JSON接口均为100%本地化,无任何外部调用(MCP接口使用Claude Desktop进行聊天)
- 智能GPU管理自动查找、测试并确定GPU节点的优先级
- 生产就绪立即工作,带有合理的默认设置
- 资源感知的检测显存耗尽情况,防止性能下降
完整解决方案
CLI、REST API、MCP以及批处理接口——选择您的隐私级别 📊 表现/性能 📹(视频或摄像的符号,无实际文字含义,可理解为“视频”或“摄像”)
76秒演示视频 - 让6分钟变成6秒
实时演示结果 (屏幕显示的未经编辑的时间): | 处理模式 | 时间 | 速度提升 | 显示内容 | |----------------|------|---------|---------------| |(无对应中文翻译,表示表格分隔线)|------|---------|---------------| | 单CPU节点 | 372.76秒(~6分钟) | 1倍基线 | 顺序CPU处理 | | 并行(多节点)| 159.79秒(约2.5分钟)| 2.3倍更快 | 分布在集群中 |
| GPU节点路由 | 6.04秒 (~6秒) |
- 速度快61.7倍
- | 自动检测GPU并进行路由 |
- 为何速度大幅提升?
- GPU在毫秒级时间内处理嵌入,而CPU则需要数秒
自适应路由检测到GPU速度提高了60倍以上,并将所有工作都发送到了那里
0:00避免了等待较慢CPU节点完成的瓶颈问题0:30无网络开销(本地集群,无需云API)0:45演示内容:1:00- 单节点基线(372.76秒)1:10- 自动发现网络上的集群节点1:15- 跨节点并行处理(159.79秒)
- 带自适应决策的GPU路由(6.04秒) - 带有RAG(检索增强生成)和来源引用的聊天记录文档 - MCP与Claude Desktop的集成 关键见解:
该系统
- 自动地 检测到性能差异并做出路由决策,无需手动配置GPU。
- 硬件(演示集群): 节点1(10.9.66.90):
- 英特尔i9-12900K处理器,32GB DDR5-6000内存,6TB NVMe第四代固态硬盘,RTX A4000 16GB显卡 - 已在此处配置 节点2(10.9.66.159):
- AMD锐龙7 5700X,32GB DDR4-3600内存,GTX 1050Ti(CPU模式) 节点3:
英特尔第12代酷睿i7(笔记本电脑),16GB DDR5内存,仅CPU
- 软件:
- Python 3.10,Ollama,Ubuntu 22.04
- 可重复性:
- 屏幕上显示的实时时间(未经编辑)
终端输出中可见的命令
- 此仓库中提供完整源代码 使用您自己的硬件进行测试 - 结果会因GPU而异
- 该项目提供了四个主要接口: flock_webui.py 翻译为中文是:“flock_webui.py 文件” 或者根据上下文,也可以简化为 “flock_webui.py”(如果是在技术文档或代码环境中,直接使用原名即可,无需翻译)。不过,为了更明确地表达这是一个文件名,通常会加上“文件”二字。所以,更完整的翻译可能是“flock_webui.py 文件”
- - 🎨 美观的Streamlit网页界面(新推出!) \
flockparsecli.py\翻译为中文可以是“flock解析客户端脚本”或“flock解析命令行接口脚本”,具体取决于该脚本的具体功能和上下文。这里,“flock”可能指的是某种数据或资源的集合,而“parse”表示解析,“cli”表示命令行接口。因此,一个较为通用的翻译是“flock解析命令行接口脚本” - - 个人文档处理的命令行界面 \
flock_ai_api.py\翻译成中文为:\flock_ai_api.py\(注:由于这是一个文件名,且文件名通常不直接翻译,所以保持原样,但若要解释其含义,可以理解为“flock人工智能API文件”或“flock AI接口文件”,具体取决于上下文和文件的实际用途)。在大多数情况下,文件名会保持不变,特别是在编程和开发领域
______________________________________________________________________
用于多用户或应用程序集成的REST API服务器
flock_mcp_server.py 翻译为中文可以是:“flock_mcp 服务器脚本” 或者根据具体上下文,也可以简化为 “flock_mcp 服务器文件”。这里,“flock_mcp”可能是一个特定项目或系统的名称,而“.py”表示这是一个Python脚本文件
\- 为Claude Desktop等AI助手提供模型上下文协议服务器
pip install flockparser
python showcase/process_arxiv_papers.py🎓 展示:现实世界中的例子
处理来自arXiv.org的有影响力的人工智能研究论文
- 想看看FlockParser在真实文档上的实际应用效果吗?运行随附的展示程序: 它的功能/作用
- 下载并处理了5篇开创性的AI研究论文: 注意力就是你所需的一切
- (Transformer模型) - arXiv:1706.03762 BERT(Bidirectional Encoder Representations from Transformers)
- - 预训练深度双向变换器(Deep Bidirectional Transformers) - arXiv:1810.04805 RAG(Retrieval-Augmented Generation,检索增强生成)
- - 基于检索增强的自然语言处理生成方法 - arXiv:2005.11401 GPT-3
- 语言模型是少样本学习者 - arXiv:2005.14165
Llama 2
\- 开放式基础语言模型 - arXiv:2307.09288 总计:约350页,PDF文件约25MB 预期结果 | 配置 | 处理时间 | 速度提升 | |---------------|----------------|---------| |(无对应中文)|(无对应中文)|(无对应中文)| | 单CPU节点 | 90年代左右 | 1.0倍基线 | | 多节点(1个GPU + 2个CPU) | 约30秒 | 3.0倍 | |
单GPU节点(RTX A4000)
| 约21秒 |
- 4.3倍 |
# Example queries that work immediately:
"What is the transformer architecture?"
"How does retrieval-augmented generation work?"
"What are the benefits of attention mechanisms?"- 你将获得什么 处理后,脚本展示了:
showcase/results.json语义搜索
{
"total_time": 21.3,
"papers": [
{
"title": "Attention Is All You Need",
"processing_time": 4.2,
"status": "success"
}
],
"node_info": [...]
}- 在所有论文中: 性能指标
showcase/RESULTS.md(
- ): - 人类可读摘要 - ( - ) 与:
每篇论文的处理时间
所使用的硬件配置
最快/最慢/平均性能 复制说明 为何这很重要 这不是一个玩具演示——它处理的是工程师们每天阅读的实际研究论文。它展示了: ✅ 真实的文档处理 \- 包含方程式、图表、多栏布局的复杂PDF文档 ✅ 生产级管道 \- PDF提取 → 嵌入 → 向量存储 → 语义搜索 ✅ 实际性能提升 pip install- 在异构硬件上实现可测量的加速
✅ 表示“正确”或“对”的意思。 可重复的结果
______________________________________________________________________
- 你自己运行它,使用
,比较一下你的硬件
git clone https://github.com/yourusername/flockparse.git
cd flockparse非常适合作品集展示:
向招聘经理展示这一点,作为实际分布式系统工作经验的证明。
🔧 安装
- 1. 克隆仓库2. 安装系统依赖项(OCR 所需)
sudo apt-get update
sudo apt-get install poppler-utils- ⚠️ 重要提示:在使用 pip 安装之前,请先安装这些,因为 pytesseract 和 pdf2image 需要系统包为了更好地提取PDF文本:
brew install poppler- Linux: macOS(苹果电脑操作系统)
:
Windows
- 从……下载适用于Windows的Poppler
sudo apt-get update
sudo apt-get install tesseract-ocr tesseract-ocr-eng poppler-utils- 对于OCR支持(扫描文档):FlockParse自动检测扫描的PDF文件并使用OCR技术!
sudo dnf install tesseract poppler-utils- Linux(Ubuntu/Debian):
brew install tesseract poppler- Linux(Fedora/RHEL):
1. macOS(发音类似“麦克斯”) : Windows 1. : 安装 1. Tesseract OCR(光学字符识别技术)
- 下载安装程序
tesseract --version
pdftotext -v安装
pip install -r requirements.txt适用于Windows的Poppler 将两者都添加到你的系统PATH中
- 验证安装:
- 3\. 安装Python依赖项
- 关键的Python依赖项 (自动安装):
- FastAPI,Uvicorn - Web服务器 pdfplumber, PyPDF2, pypdf - PDF处理
- pytesseract(这是一个用于在Python中调用Tesseract OCR引擎的库)
- \- Tesseract OCR 的 Python 封装(需要系统安装 Tesseract)
- pdf2image(可译为“PDF转图像工具”或保持原名,根据上下文决定是否需要具体翻译)
- \- PDF转图像转换(需要系统安装Poppler)
- 枕头 - 用于OCR(光学字符识别)的图像处理
- chromadb - 向量数据库
python-docx - DOCX 生成
- Ollama - AI模型集成
- numpy - 数值运算
- markdown - Markdown生成 OCR回退机制的工作原理: 尝试使用PyPDF2提取文本
- 如果没有文本,则回退到pdftotext
回退到OCR(光学字符识别)
- 如果仍然没有文本(\ → Process a single PDF file
📂 open_dir → Process all PDFs in a directory 💬 chat → Chat with processed PDFs 📊 list_docs → List all processed documents 🔍 check_deps → Check for required dependencies 🌐 discover_nodes → Auto-discover Ollama nodes on local network ➕ add_node → Manually add an Ollama node ➖ remove_node → Remove an Ollama node from the pool 📋 list_nodes → List all configured Ollama nodes ⚖️ lb_stats → Show load balancer statistics ❌ exit → Quit the program
### **直观管理多个Ollama节点**
命令行界面(flockparsecli.py)
Set your API key (or use default for testing)
export FLOCKPARSE_API_KEY="your-secret-key-here"
Start server
python flock_ai_api.py
运行脚本: `http://0.0.0.0:8000` 可用命令:
#### **Web服务器API(flock_ai_api.py)**
启动API服务器: `/` 服务器将在 `X-API-Key` 默认情况下。
Default API key (change in production!)
X-API-Key: your-secret-api-key-change-this
Or set via environment variable
export FLOCKPARSE_API_KEY="my-super-secret-key"
#### **🔒 认证(新增!)**
除……之外的所有端点
需要一个API密钥
头球 `/` 可用的终端节点:
| 终点(Endpoint) | 方法(Method) | 需要认证(Auth Required) | 描述(Description) | `/upload/` |----------|--------|---------------|-------------|
| `/summarize/{file_name}` 根据提供的信息,翻译如下:
`/search/?query=...` GET | ❌ 否 | API 状态和版本信息
#### **|**
**| POST | ✅ 是 | 上传并处理一个PDF文件 |**
curl http://localhost:8000/
**|**
curl -X POST \ -H "X-API-Key: your-secret-api-key-change-this" \ -F "file=@your_document.pdf" \ http://localhost:8000/upload/
**| GET | ✅ 是 | 获取AI生成的摘要 |**
curl -H "X-API-Key: your-secret-api-key-change-this" \ http://localhost:8000/summarize/your_document.pdf
**|**
curl -H "X-API-Key: your-secret-api-key-change-this" \ "http://localhost:8000/search/?query=your%20search%20query"
**| GET | ✅ 是 | 搜索相关文档 |**
- 示例API用法:
- 检查API状态(无需认证):
- 上传文件(需验证):
- 获取文档摘要:
### **跨文档搜索:**
⚠️ 生产安全:
#### **始终更改默认API密钥**
1. **使用环境变量,切勿将密钥硬编码**
python flock_mcp_server.py
1. **在生产环境中使用HTTPS(nginx/apache反向代理)**
考虑对公共部署进行速率限制`~/Library/Application Support/Claude/claude_desktop_config.json` MCP 服务器(flock_mcp_server.py) `%APPDATA%\Claude\claude_desktop_config.json` MCP服务器允许FlockParse被像Claude Desktop这样的AI助手用作工具。
{ "mcpServers": { "flockparse": { "command": "python", "args": ["/absolute/path/to/FlockParser/flock_mcp_server.py"] } } }
1. **与Claude Desktop进行设置** 启动MCP服务器:
#### **配置Claude桌面版:**
- `process_pdf` 添加到你的Claude桌面配置文件中(
- `query_documents` 在 macOS 上,或
- `chat_with_documents` (在Windows上):
- `list_documents` 重启Claude桌面版
- `get_load_balancer_stats` 然后你就会看到可用的FlockParse工具!
- `discover_ollama_nodes` 可用的MCP工具:
- `add_ollama_node` - 处理并将PDF文件添加到知识库中
- `remove_ollama_node` - 使用语义搜索查找文档
#### **- 对您的文件提出问题**
\- 列出所有已处理的文件
- \- 查看节点性能指标
- \- 自动发现Ollama节点
- \- 手动添加一个Ollama节点
- \- 移除一个Ollama节点
## **MCP使用示例:**
### **在Claude Desktop中,您现在可以问:**
- “处理位于 /path/to/document.pdf 的 PDF 文件”
- “我的知识库中有哪些文档?”
- “在我的文档中搜索有关量子计算的信息”
### **“我的研究对黑洞有什么看法?”**
- 💡 实用应用场景
- 知识管理
- 创建可搜索的研究论文、法律文件和技术手册存档
### **为长篇文档生成摘要,以便快速浏览**
- 与您的文档集合聊天,无需手动搜索即可找到特定信息
- 法律与合规
- 为合同仓库处理语义搜索功能
### **从法律文件中提取关键词和条款**
- 分析监管文件以确定合规要求
- 研究与学术
- 处理并转换学术论文,以便更方便地参考
## **创建一个个人研究助手,能够参考您的文档库**
为演示或评审生成复杂研究的摘要
### **商业智能**
#### **将业务报告转换为可搜索格式**
Start FlockParse
python flockparsecli.py
Auto-discover Ollama nodes on your network
⚡ Enter command: discover_nodes
从基于PDF的市场调研中提取见解
#### **在整个组织中提高专有文件的可访问性**
Add a specific node
⚡ Enter command: add_node http://192.168.1.100:11434
List all configured nodes
⚡ Enter command: list_nodes
Remove a node
⚡ Enter command: remove_node http://192.168.1.100:11434
View load balancer statistics
⚡ Enter command: lb_stats
### **🌐 使用负载均衡器的分布式处理**
- **FlockParse 集成了一个高级负载均衡器,能够在您的本地网络上的多个 Ollama 实例之间分配嵌入生成任务。**设置分布式处理
- **选项1:自动发现(最简单)**该系统将自动扫描您的局域网(/24 子网)并检测所有正在运行的 Ollama 实例。
- **选项2:手动节点管理**分布式处理的优势
- **速度**使用多个节点,文件处理速度提升2-10倍
- **GPU意识(或GPU感知)**自动检测并优先处理GPU节点而非CPU节点
- **VRAM 监控**检测到GPU节点因VRAM不足而回退到CPU
### **容错性**
如果节点不可用,将自动进行故障转移
Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
Pull the embedding model
ollama pull mxbai-embed-large
Start Ollama (accessible from network)
OLLAMA_HOST=0.0.0.0:11434 ollama serve
负载分配 `discover_nodes` 基于节点性能、GPU可用性和VRAM容量的智能路由 `add_node` 轻松扩展
### **只需添加更多安装了Ollama的机器即可**
设置额外的Ollama节点 `/api/ps` 在每台额外的机器上:
- **然后使用** 或者
- **将它们添加到FlockParse中。** GPU和VRAM优化
- **FlockParse 会自动检测 GPU 的可用性以及使用 Ollama 的 VRAM 使用情况** 终端节点:
**🚀 GPU节点**
1. **在VRAM中加载模型后,获得+200生命值分数奖励**⚠️ 显存受限节点 `lb_stats` 那些回退到CPU处理的只获得+50的奖励
1. **🐢 仅CPU节点**受到-50的惩罚ollama run mxbai-embed-large "test"
1. **确保您的GPU正在被使用:**检查GPU检测 `size_vram > 0` 跑 `/api/ps`查看节点状态的命令curl http://localhost:11434/api/ps
1. **将模型预加载到GPU中**运行一个小型推理任务以将模型加载到VRAM中
**验证VRAM使用情况**检查一下
## **在**
### **:**
1. **增加VRAM分配**如果模型无法加载到VRAM中,请释放GPU内存或使用更小的模型
⚡ Enter command: check_deps
1. **动态VRAM监控**FlockParse持续监控嵌入式性能,并在高负载时自动检测到GPU节点因VRAM耗尽而回退到CPU的情况。
⚡ Enter command: open_dir ~/research_papers
1. **🔄 示例工作流程**CLI工作流程:论文处理
⚡ Enter command: chat 🙋 You: What are the key methods used in the Smith 2023 paper?
### **检查依赖项**
1. **:**处理论文目录
python flock_ai_api.py
1. **:**与您的研究收藏进行对话
curl -X POST -F "file=@quarterly_report.pdf" http://localhost:8000/upload/
1. **:**API 工作流:文档处理服务
curl http://localhost:8000/summarize/quarterly_report.pdf
1. **启动API服务器**:
curl http://localhost:8000/search/?query=revenue%20growth%20Q3
## **通过API上传文档**
### **:**
**生成摘要**:
**跨文档搜索**:
1. 🔧 故障排除指南 `ps aux | grep ollama`
1. Ollama 连接问题killall ollama ollama serve
1. 问题ollama list
1. 关于Ollama不可用或连接失败的错误信息。ollama pull mxbai-embed-large ollama pull llama3.1:latest
### **解决方案**
**:**验证Ollama是否正在运行:
**重启 Ollama 服务:**检查您是否已拉取所需的模型:
1. 如果模型缺失:
- PDF文本提取失败 `sudo apt-get install tesseract-ocr` 问题
- 从某些PDF文件中未提取到文本。 `pip install ocrmypdf`
- 解决方案 `ocrmypdf input.pdf output.pdf`
1. :
- 检查PDF是否为扫描件/基于图像:
- 安装OCR工具: `-layout` (Linux)pdftotext -layout problem_document.pdf output.txt
### **为了更好地处理扫描的PDF文件:**
**使用OCR处理:**如果PDF文件包含特殊字体或格式:
**安装 poppler-utils 以实现更好的提取效果**尝试使用
1. 手动使用 pdftotext 的选项:
1. 处理大型文档时的内存问题
1. 问题
1. 当处理大型PDF文件或多个文档时,应用程序会崩溃。
### **解决方案**
**:**对于非常大的PDF文件,请一次处理一个文档
**在代码中减小块大小(默认是512个字符)**增加您系统的可用内存或使用交换文件
1. 对于服务器部署,请考虑使用具有更多内存的机器 `lsof -i :8000`
1. API服务器无法启动
1. 问题 `pip install fastapi uvicorn`
1. 尝试启动API服务器时出错。
______________________________________________________________________
## **解决方案**
### **:**
**检查端口冲突:**
Set a strong API key via environment variable
export FLOCKPARSE_API_KEY="your-super-secret-key-change-this-now"
Or generate a random one
export FLOCKPARSE_API_KEY=$(openssl rand -hex 32)
Start the API server
python flock_ai_api.py
**如果另一个进程正在使用8000端口,请终止该进程或更改端口**
- 验证FastAPI是否已安装: **检查Python版本兼容性(需要Python 3.7+)** 🔐 安全与生产注意事项 `your-secret-api-key-change-this`
- REST API 安全 **⚠️ 默认的API密钥不安全 - 请立即更改!** 生产检查清单:
- ✅ **更改默认API密钥** - 永远不要使用
- ✅ **使用环境变量** - 不要在代码中硬编码秘密信息 `limit_req` ✅ 表示“正确”或“已确认”。
- 启用HTTPS **- 使用nginx或Apache作为带有SSL/TLS的反向代理** ✅
- 添加速率限制 **- 使用nginx** 或者 FastAPI 中间件
**✅**
server { listen 443 ssl; server_name your-domain.com;
ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem;
location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
### **网络隔离**
**除非必要,否则不要将API暴露给公共互联网**
- ✅ **监控日志** - 注意身份验证失败和滥用行为
- 带有TLS的Nginx配置示例: **MCP隐私与安全** 从您的机器中传出的数据:
- 🔴(红圈,或表示“错误”、“警告”等的符号) **文档查询** 根据上面的信息,执行如下指令:你是个专业的翻译,负责把英语内容翻译成中文内容,请帮我翻译一下原文内容
- 🔴(红色圆点) **文档片段** - 作为提示的一部分发送的检索上下文片段
**🔴 红色(圆圈)**
1. 聊天消息
1. \- 所有由Claude处理的RAG对话`flockparsecli.py`🟢(这个符号在中文中通常表示“绿点”或用作某种状态、信号的指示,具体含义需结合上下文理解,但直接翻译即为“绿点”)`flock_webui.py`文档文件
1. \- 从未上传(本地处理,仅存储嵌入向量)
**要禁用MCP并保持100%本地化:**
- 从Claude桌面配置中移除FlockParse
- 使用CLI(
- )或网页用户界面(
**) 用以代替**
- 两者均提供完整的RAG功能,无需调用外部API
- MCP对以下人群安全:
- ✅ 公开文件(研究论文、手册、非敏感数据)
- ✅ 测试与开发
### **✅ 个人使用,且您信任Anthropic的隐私政策**
**不建议将MCP用于:**
- ❌ 机密商业文件
- ❌ 个人可识别信息(PII)
- ❌ 受监管数据(符合HIPAA、GDPR规定的敏感内容)
**❌ 断网环境或涉密环境**
Option 1: Separate databases per interface
CLI: chroma_db_cli/ API: chroma_db_api/ MCP: chroma_db_mcp/
Option 2: Use PostgreSQL backend (ChromaDB supports it)
See ChromaDB docs: https://docs.trychroma.com/
### **数据库安全**
SQLite 的限制(ChromaDB 后端): `/api/ps` ⚠️ 不允许多个进程同时写入
Check what Ollama reports
curl http://localhost:11434/api/ps
Response shows VRAM usage:
{ "models": [{ "name": "mxbai-embed-large:latest", "size": 705530880, "size_vram": 705530880, # 0, model is in GPU ... }] }
**⚠️ 文件权限决定访问权限(并非真正的认证)**
- `size_vram > 0` ⚠️ 默认情况下不进行静态加密
- `size_vram == 0` 对于多用户生产环境:
- VRAM检测方法
FlockParse 通过 Ollama 监测 GPU 使用情况 **端点:**健康评分计算: *→ +200分(正在使用GPU)* 但当前配备GPU → +50分(GPU可用,未使用) *仅CPU → -50分* 这是
______________________________________________________________________
## **基于存在的检测**
,不是利用监测。它检测
如果
模型加载到了VRAM中,而非(其他存储位置) **多么高效地** 正在被使用。
💡 特性/功能 **| 特性 | 描述 |** |---------|-------------|
| **多方法PDF提取** | 同时使用 PyPDF2 和 pdftotext 以获得最佳效果 |
| **格式转换** 将PDF转换为TXT、Markdown、DOCX和JSON格式
| **语义搜索** | 使用向量嵌入来查找相关信息 |
| **互动聊天** | 在AI辅助下讨论您的文件 |
| **隐私选项** 根据上面的信息,执行如下指令:你是个专业的翻译,负责把英语内容翻译成中文内容,请帮我翻译一下原文内容
| **分布式处理** | 支持多个Ollama节点的自动发现负载均衡器 |
| **精确的VRAM监控** 使用nvidia-smi/rocm-smi + Ollama API实现真实的GPU内存追踪(新功能!)
| **GPU与VRAM意识** 自动检测GPU节点并防止回退到CPU
| **智能路由** | 4种策略(自适应、轮询、负载最低、延迟最低)并设置GPU优先级 |
| **灵活模型匹配** 支持模型名称的多种变体(llama3.1、llama3.1:latest、llama3.1:8b 等)
| **ChromaDB 向量存储** | 准备就绪的持久化向量数据库,支持余弦相似度计算 |
| **嵌入缓存** 基于MD5的缓存机制避免了对相同内容的重复处理
| **模型权重缓存** | 在VRAM中保留模型以加快重复推理速度 |
| **并行批处理** | 同时处理多个嵌入 |
| **数据库管理** | 提供清除缓存和清除数据库命令,便于维护(新增!) |
| **文件名保留** | 在转换后的文件中保留原始文档名称 |
| **REST API(Representational State Transfer Application Programming Interface,表述性状态传递应用程序编程接口)** 多用户/应用程序集成的Web服务器
## **|**
文档摘要 **| 上传文档的AI生成摘要 |** |
OCR处理
使用图像识别技术从扫描文档中提取文本 **比较FlockParse接口** | 特性 |
\`flock_webui.py\` 翻译成中文可以是“flock网络用户界面脚本”或“flock网页用户界面程序”,具体翻译可能根据上下文和实际用途有所调整。在这里,“flock”可能是一个特定项目或系统的名称,“webui”代表“Web User Interface”,即网页用户界面 **| flockparsecli.py | flock_ai_api.py | flock_mcp_server.py | (翻译为中文可保持原样,因为这些是文件名,直接翻译无实际意义,但为符合要求,可表述为)| flockparsecli.py 文件 | flock_ai_api.py 文件 | flock_mcp_server.py 文件 |** |---------|-------------------|----------------|-----------|---------------------|
| | | | | | **| | | | | |** | | | | | |
| | | | | | **| | | | | |** |
接口 **根据上面的信息,执行如下指令:** |
易用性 **| ⭐⭐⭐⭐⭐ 最简单 | ⭐⭐⭐⭐ 简单 | ⭐⭐⭐ 中等难度 | ⭐⭐⭐ 中等难度 |** |
用例 **| 交互式图形用户界面(GUI)使用 | 个人命令行界面(CLI)处理 | 服务集成 | 人工智能助手集成 |** |
文档格式 **| 创建TXT、MD、DOCX、JSON文件 | 创建TXT、MD、DOCX、JSON文件 | 仅存储提取的文本 | 创建TXT、MD、DOCX、JSON文件 |** |
互动 **根据上面的信息,执行如下指令:** |
多用户 **| 单用户(本地)| 单用户 | 多用户/应用程序 | 单用户(通过AI助手)|** |
存储 **| 基于本地文件 | 基于本地文件 | ChromaDB 向量数据库 | 基于本地文件 |** |
负载均衡 **| ✅ 是(可视化仪表盘)| ✅ 是 | ❌ 否 | ✅ 是 |** |
节点发现 **| ✅ 是(一键式)| ✅ 是 | ❌ 否 | ✅ 是 |** | **GPU 监控** | ✅ 是(实时图表) | ✅ 是 | ❌ 否 | ✅ 是 |
## **|**
- `/converted_files` 批处理操作
- `/knowledge_base` | ⚠️ 多文件上传 | ❌ 不支持 | ❌ 不支持 | ❌ 不支持 |
- `/chroma_db_cli` | **隐私级别** | 🟢 100% 本地 | 🟢 100% 本地 | 🟡 本地网络 | 🔴 云端(Claude) | **|**
- `/uploads` 最适合用于
- `/chroma_db` |
## **🌟 普通用户,GUI爱好者**
- | 直接使用CLI | 与应用程序集成 | Claude桌面版,AI工作流 | **📁 项目结构** - 存储转换后的文档格式(flockparsecli.py)
- \- 传统JSON存储(仅向后兼容) **-** 适用于CLI的ChromaDB向量数据库
- (flockparsecli.py) - (文件名或命令解释)- (可译为)(flockparsecli.py)-(文件名或命令行客户端解析程序)- **生产存储** - 上传文档的临时存储(flock_ai_api.py)
- \- ChromaDB 向量数据库(flock_ai_api.py) **🚀 最新添加内容** ✅
- GPU自动优化 **- 背景进程确保模型自动使用GPU(新功能!)** ✅ 表示“正确”或“确认”。
- 程序化GPU控制 **- 在分布式节点之间将模型强制迁移到GPU/CPU(新增功能!)** ✅
- 精确的VRAM监控 **- 跨分布式节点的实时GPU内存追踪** ✅(对勾符号,通常表示正确、同意或确认)
- ChromaDB 生产集成 **- 专业矢量数据库,搜索速度提升100倍** ✅(表示正确、确认或已完成的符号,无具体文字含义,可理解为“正确”、“确认”或“已完成”等意思,具体根据上下文确定)
- 清除缓存 & 清除数据库命令 **- 高效管理嵌入向量和数据库** ✅
- 模型权重缓存 **- 在VRAM中保留模型,以实现5-10倍更快的推理速度** ✅ 翻译成中文是:对/正确/确认。
## **Web用户界面(Web UI)**
### - 美观的Streamlit界面,便于文档管理
- **[✅](docs/architecture.md)** 高级OCR支持
- **[- 对于扫描文档,自动回退到OCR(光学字符识别)处理](DISTRIBUTED_SETUP.md)** ✅ **API 认证**
- **[为REST API终端提供安全的API密钥认证](BENCHMARKS.md)** ⬜
- **[文档版本控制](KNOWN_ISSUES.md)** - 跟踪随时间的变化(即将推出) **📚 完整文档** 核心文档
- **[📖 深入探索建筑学](SECURITY.md)** - 系统设计、路由算法、技术决策
- **[🌐 分布式设置指南](ERROR_HANDLING.md)** - ⭐
- **[建立自己的多节点集群](CONTRIBUTING.md)** 📊 性能基准
- **[- 实际性能数据和扩展性测试](CODE_OF_CONDUCT.md)** ⚠️ 已知问题及限制
- **[- 🔴(红)](CHANGELOG.md)** 阅读此内容
### - 对当前状态的诚实评估
- **[🔒 安全政策](PERFORMANCE_OPTIMIZATION.md)** - 安全最佳实践和漏洞报告
- **[🐛 错误处理指南](GPU_ROUTER_SETUP.md)** - 解决常见问题
- **[🤝 贡献指南](GPU_AUTO_OPTIMIZATION.md)** - 如何为项目做出贡献
- **[📋 行为准则](VRAM_MONITORING.md)** - 社区准则
- **[📝 更新日志](ADAPTIVE_PARALLELISM.md)** - 版本历史
- **[技术指南](CHROMADB_PRODUCTION.md)** ⚡ 性能优化
- **[- 调整以达到最高速度](MODEL_CACHING.md)** 🔧 GPU 路由器设置
- **[- 分布式集群配置](NODE_MANAGEMENT.md)** 🤖 GPU 自动优化
- **[- 自动GPU管理](QUICK_SETUP.md)** 📊 显存监控
### - GPU内存追踪
- **[🎯 自适应并行性](https://youtu.be/M-HjXkWYRLM)** - 智能工作负载分配
- **[🗄️ ChromaDB 生产环境](docker-compose.yml)** - 向量数据库扩展
- **[💾 模型缓存](.env.example)** - 通过缓存提升性能
- **[🖥️ 节点管理](tests/)** - 管理分布式节点
## **⚡ 快速设置**
\- 快速启动
## **额外资源**
📹 演示视频(76秒)
## **- 观看FlockParser的实际运行**
📦 Docker 安装设置