关于 index-manager
用于维护 MPEP 搜索索引的技能,面向构建或排查专利搜索系统的维护者,涵盖 PDF 管理、索引重建、验证和性能调整。
主要功能
- 01下载并验证 PDF
- 02构建或重建索引
- 03检查索引健康状态
- 04更新内容并重建索引
- 05调整构建与搜索性能
适用场景
- 01从 MPEP PDF 创建索引
- 02修复损坏或缺失的索引
- 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/ | 查看索引文件 |
最佳实践:
- 重建前备份
- 构建前验证 PDF
- 使用 GPU,构建速度可提升 10 倍
- 重建后进行测试
- 验证完成前保留 PDF
- 每周进行健康检查
评论
支持 Markdown