mcpField
I
index-manager

index-manager

github.com/robthepcguy数据与数据库20657 次安装2 天前更新
代码仓库

关于 index-manager

用于维护 MPEP 搜索索引的技能,面向构建或排查专利搜索系统的维护者,涵盖 PDF 管理、索引重建、验证和性能调整。

主要功能

  1. 01下载并验证 PDF
  2. 02构建或重建索引
  3. 03检查索引健康状态
  4. 04更新内容并重建索引
  5. 05调整构建与搜索性能

适用场景

  1. 01从 MPEP PDF 创建索引
  2. 02修复损坏或缺失的索引
  3. 03添加内容后刷新索引

MCP 相关

该技能管理 `mcp_server` 组件使用的搜索索引,包括重建和健康检查;未说明面向 MCP 客户端提供的工具。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/robthepcguy/claude-patent-creator --skill index-manager

安装后在 Claude Code 中输入/index-manager确认已加载。

详细介绍

索引管理器技能

用于管理 MPEP 搜索索引生命周期的专家系统:PDF 下载、索引构建、维护、更新和优化。

适用于 CLAUDE: 所有依赖项均已安装,系统已运行。

  • 直接进入相应阶段
  • 脚本/工具位于 mcp_server/
  • 如可用,请使用 patent-creator CLI
  • 仅在操作失败时运行诊断

使用场景

构建/重建 MPEP 索引、文件损坏/缺失、优化、添加内容、故障排查。

索引生命周期

PDFs Not Present -> Download (2-5 min, 500MB)
  -> Extract & Parse (500MB data)
  -> Generate Embeddings (5-10 min GPU, 35-65 min CPU)
  -> Build FAISS + BM25 Indexes
  -> Index Ready (mcp_server/index/)
  -> Maintenance (Verify -> Optimize -> Update)

阶段 1:PDF 管理

检查状态:

ls pdfs/  # Should show mpep-*.pdf, consolidated_laws.pdf, consolidated_rules.pdf

下载 PDF:

patent-creator download-mpep
# Or: python install.py (Select "Download MPEP PDFs")

验证完整性:

python -c "
import fitz
from pathlib import Path
for pdf in Path('pdfs').glob('*.pdf'):
    try:
        doc = fitz.open(pdf)
        print(f'[OK] {pdf.name}: {len(doc)} pages')
        doc.close()
    except Exception as e:
        print(f'[X] {pdf.name}: ERROR - {e}')
"

阶段 2:索引构建

patent-creator rebuild-index
# Or: python mcp_server/server.py --rebuild-index

时间安排:

  • 加载 PDF:30 秒
  • 提取文本:1-2 分钟
  • 文本分块(500 个 token):30 秒
  • 生成嵌入:5-10 分钟(GPU)或 35-65 分钟(CPU)
  • 构建 FAISS/BM25:1 分钟
  • 保存到磁盘:10 秒

总计: 5-15 分钟(GPU)或 35-65 分钟(CPU)

自定义构建:

from mcp_server.mpep_search import MPEPIndex
index = MPEPIndex(use_hyde=False)
index.build_index(
    chunk_size=500,
    overlap=50,
    batch_size=32  # Reduce to 16/8 if OOM
)

阶段 3:验证

# Check files
ls -lh mcp_server/index/
# Expected: mpep_index.faiss (~150MB), mpep_metadata.json (~80MB), mpep_bm25.pkl (~60MB)

# Verify health
patent-creator health
# Should show: [OK] MPEP Index: Ready (12,543 chunks)

# Manual test
python -c "
from mcp_server.mpep_search import MPEPIndex
index = MPEPIndex()
index.build_index()
print(f'Chunks: {len(index.chunks)}')
results = index.search('claim definiteness', top_k=3)
print(f'Search results: {len(results)}')
"

阶段 4:维护

何时重建:

  • MPEP 更新(每季度检查 uspto.gov)
  • 索引损坏
  • 添加新 PDF 后
  • 性能下降
  • 迁移机器

重建流程:

# Backup (optional)
cp -r mcp_server/index mcp_server/index_backup_$(date +%Y%m%d)

# Rebuild
patent-creator rebuild-index

# Verify
patent-creator health

# Remove backup if successful
rm -rf mcp_server/index_backup_*

阶段 5:内容更新

# Download new PDF
wget https://www.uspto.gov/web/offices/pac/mpep/mpep-2900.pdf -O pdfs/mpep-2900.pdf

# Rebuild (includes new section)
patent-creator rebuild-index

注意: 不支持增量更新。必须完整重建。

故障排查

  • 构建期间出现 OOM 错误
  • 构建耗时过长
  • 索引文件损坏
  • 搜索无结果

性能调优

  • 嵌入生成速度(GPU 与 CPU)
  • 搜索延迟优化
  • 缩减索引大小
  • 调整批次大小

快速参考

命令用途
patent-creator download-mpep下载 MPEP PDF
patent-creator rebuild-index构建/重建搜索索引
patent-creator health检查索引健康状况
ls -lh mcp_server/index/查看索引文件

最佳实践:

  1. 重建前备份
  2. 构建前验证 PDF
  3. 使用 GPU,构建速度可提升 10 倍
  4. 重建后进行测试
  5. 验证完成前保留 PDF
  6. 每周进行健康检查

评论

支持 Markdown