分布式文档RAG处理系统

FlockParse是一个分布式文档RAG处理系统,能够自动发现Ollama节点并智能地在异构GPU/CPU之间路由工作负载,通过自适应负载平衡实现60倍以上的加速,提供隐私优先的本地/网络/云接口。

  • by BenevolentJoker-JohnL
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 BenevolentJoker-JohnL/FlockParser-legacy

使用说明

FlockParse - 利用分布式处理实现文档RAG(检索增强生成)智能

分布式文档RAG系统,将不匹配的硬件整合为协同推理集群。 自动发现Ollama节点,智能地在异构GPU/CPU之间分配工作负载,并通过自适应负载均衡实现60倍以上的加速。以隐私为先,支持本地/网络/云接口。

这与众不同的地方在于: 真正的分布式系统工程——不仅仅是API封装。它能处理异构硬件(RTX A4000 + GTX 1050Ti + CPU笔记本电脑协同工作)、网络故障以及排除云API的隐私要求。


⚠️ 重要提示:当前到期日

状态: Beta(v1.0.0)- 欢迎早期采用者,但请先阅读此内容!

行之有效的方法:

  • ✅ 在异构节点上进行核心分布式处理
  • ✅ GPU检测和带VRAM感知的路由
  • ✅ 基本的PDF提取功能及OCR作为备用方案
  • ✅ 首选隐私的本地处理(CLI/网页界面模式)

已知限制:

使用前请阅读: 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


🔒 隐私模型

接口 隐私级别 外部调用 最适合用于
中文翻译 中文译文 中文译文 中文译文
无 个人使用,断网系统 ** ** Web 用户界面(或网页界面)flock_webui.py( **)
无 图形用户界面(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%离线处理。

做出贡献

  • ⚡ 主要特点 🌐 智能负载均衡
  • - 自动发现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 integration

4GB+ 内存(建议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 capabilities

FlockParser 将自动发现这些节点! 请与以下人员确认: 📖 完整指南: 见

  • 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倍以上 | ⚠️ 根据配置不同而有所变化 | ⚠️ 根据配置不同而有所变化 | ⚠️ 根据配置不同而有所变化 | |

成本

  1. **| 💰 免费 | 💰💰 免费+付费 | 💰💰 免费+付费 | 💰💰 免费+付费 |**关键差异化因素:
  2. **“隐私设计”(Privacy by Design)**CLI和JSON接口均为100%本地化,无任何外部调用(MCP接口使用Claude Desktop进行聊天)
  3. 智能GPU管理自动查找、测试并确定GPU节点的优先级
  4. 生产就绪立即工作,带有合理的默认设置
  5. 资源感知的检测显存耗尽情况,防止性能下降

完整解决方案

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
  • 可重复性:
  • 屏幕上显示的实时时间(未经编辑)

终端输出中可见的命令

  1. 此仓库中提供完整源代码 使用您自己的硬件进行测试 - 结果会因GPU而异
  2. 该项目提供了四个主要接口: flock_webui.py 翻译为中文是:“flock_webui.py 文件” 或者根据上下文,也可以简化为 “flock_webui.py”(如果是在技术文档或代码环境中,直接使用原名即可,无需翻译)。不过,为了更明确地表达这是一个文件名,通常会加上“文件”二字。所以,更完整的翻译可能是“flock_webui.py 文件”
  3. - 🎨 美观的Streamlit网页界面(新推出!) `flockparsecli.py` 翻译为中文可以是“flock解析客户端脚本”或“flock解析命令行接口脚本”,具体取决于该脚本的具体功能和上下文。这里,“flock”可能指的是某种数据或资源的集合,而“parse”表示解析,“cli”表示命令行接口。因此,一个较为通用的翻译是“flock解析命令行接口脚本”
  4. - 个人文档处理的命令行界面 `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秒 |

  1. 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?"
    
  2. 你将获得什么 处理后,脚本展示了:showcase/results.json语义搜索

    {
      "total_time": 21.3,
      "papers": [
        {
          "title": "Attention Is All You Need",
          "processing_time": 4.2,
          "status": "success"
        }
      ],
      "node_info": [...]
    }
    
  3. 在所有论文中: 性能指标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
    2. : 安装
    3. 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 生成

  1. Ollama - AI模型集成
  2. numpy - 数值运算
  3. markdown - Markdown生成 OCR回退机制的工作原理: 尝试使用PyPDF2提取文本
  4. 如果没有文本,则回退到pdftotext

回退到OCR(光学字符识别)

  1. 如果仍然没有文本(<100个字符)- 需要Tesseract + Poppler
  2. 自动处理扫描文档,无需人工干预
    ollama serve
    
  3. 4. 安装并配置Ollama
    ollama pull mxbai-embed-large
    ollama pull llama3.1:latest
    

从(指定来源)安装Ollama

ollama.com 翻译为中文是“奥拉玛网站”或直接保留原域名(在中文语境下,网站域名通常直接使用,不翻译)

启动Ollama服务:

streamlit run flock_webui.py

拉取所需的模型: http://localhost:8501

📜 使用方法

  • 🎨 Web UI(flock_webui.py)- 最简单的入门方式! **启动美观的Streamlit网页界面:**网页用户界面将在您的浏览器中打开于
  • 特点: **📤 翻译成中文是“扔出的盒子”或“出站的信件(比喻为被送出的信息或物品)”。不过,在网络或日常用语中,这个表情符号通常没有固定的翻译,而是根据上下文来理解其含义。如果直接作为表情使用,可以保留原样或解释为“扔出的盒子”以传达其形象意义。**上传并处理
  • 拖放PDF文件进行处理 **💬(表示对话或评论的符号,无直接翻译,可理解为“对话”或“评论”的意思)**聊天界面
  • 与您的文档进行互动聊天 📊 表格负载均衡器仪表板
  • 实时监控GPU节点 **🔍(放大镜图标,常用于表示搜索、查看细节等动作)**语义搜索
  • 在所有文档中搜索 **🌐 代表“互联网”或“世界之眼”,常用于表示连接全球或网络的概念。**节点管理

添加/移除Ollama节点,自动发现

  • 🎯(目标/瞄准)
  • 路由控制
  • 在路由策略之间切换
  • 非常适合:

偏爱图形界面的用户

快速文档处理与探索

python flockparsecli.py

监控分布式处理

📖 open_pdf <file>   → Process a single PDF file
📂 open_dir <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 <url>    → Manually add an Ollama node
➖ remove_node <url> → 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
    
  2. 在生产环境中使用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"]
        }
      }
    }
    
  3. 与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的奖励
  2. 🐢 仅CPU节点受到-50的惩罚
    ollama run mxbai-embed-large "test"
    
  3. **确保您的GPU正在被使用:**检查GPU检测 size_vram > 0 跑 /api/ps查看节点状态的命令
    curl http://localhost:11434/api/ps
    
  4. 将模型预加载到GPU中运行一个小型推理任务以将模型加载到VRAM中

验证VRAM使用情况检查一下

在

:

  1. 增加VRAM分配如果模型无法加载到VRAM中,请释放GPU内存或使用更小的模型

    ⚡ Enter command: check_deps
    
  2. 动态VRAM监控FlockParse持续监控嵌入式性能,并在高负载时自动检测到GPU节点因VRAM耗尽而回退到CPU的情况。

    ⚡ Enter command: open_dir ~/research_papers
    
  3. 🔄 示例工作流程CLI工作流程:论文处理

    ⚡ Enter command: chat
    🙋 You: What are the key methods used in the Smith 2023 paper?
    

检查依赖项

  1. **:**处理论文目录

    python flock_ai_api.py
    
  2. **:**与您的研究收藏进行对话

    curl -X POST -F "file=@quarterly_report.pdf" http://localhost:8000/upload/
    
  3. **:**API 工作流:文档处理服务

    curl http://localhost:8000/summarize/quarterly_report.pdf
    
  4. 启动API服务器:

    curl http://localhost:8000/search/?query=revenue%20growth%20Q3
    

通过API上传文档

:

生成摘要:

跨文档搜索:

  1. 🔧 故障排除指南 ps aux | grep ollama
  2. Ollama 连接问题
    killall ollama
    ollama serve
    
  3. 问题
    ollama list
    
  4. 关于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
  2. :

    • 检查PDF是否为扫描件/基于图像:
    • 安装OCR工具: -layout (Linux)
      pdftotext -layout problem_document.pdf output.txt
      

为了更好地处理扫描的PDF文件:

**使用OCR处理:**如果PDF文件包含特殊字体或格式:

安装 poppler-utils 以实现更好的提取效果尝试使用

  1. 手动使用 pdftotext 的选项:
  2. 处理大型文档时的内存问题
  3. 问题
  4. 当处理大型PDF文件或多个文档时,应用程序会崩溃。

解决方案

**:**对于非常大的PDF文件,请一次处理一个文档

**在代码中减小块大小(默认是512个字符)**增加您系统的可用内存或使用交换文件

  1. 对于服务器部署,请考虑使用具有更多内存的机器 lsof -i :8000
  2. API服务器无法启动
  3. 问题 pip install fastapi uvicorn
  4. 尝试启动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. 聊天消息
  2. - 所有由Claude处理的RAG对话flockparsecli.py🟢(这个符号在中文中通常表示“绿点”或用作某种状态、信号的指示,具体含义需结合上下文理解,但直接翻译即为“绿点”)flock_webui.py文档文件
  3. - 从未上传(本地处理,仅存储嵌入向量)

要禁用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,  # <-- If >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界面,便于文档管理

- 对当前状态的诚实评估

- GPU内存追踪

⚡ 快速设置

- 快速启动

额外资源

📹 演示视频(76秒)

- 观看FlockParser的实际运行

📦 Docker 安装设置