SuperAPI AI 工具集

index-manager

数据与分析

查看项目

更新于 10-16 02:12

技能介绍

Index Manager 是 claude-patent-creator 项目中的一项技能,专门用于管理 MPEP(专利审查程序手册)搜索索引的生命周期,涵盖 PDF 下载、索引构建、维护、更新和优化。

用途 该技能面向需要构建、重建或维护 MPEP 搜索索引的场景,包括索引损坏或文件缺失、优化索引、添加内容以及故障排查。

索引生命周期 当 PDF 不存在时,流程为:下载(约 2-5 分钟,500MB)→ 提取与解析(500MB 数据)→ 生成嵌入向量(GPU 约 5-10 分钟,CPU 约 35-65 分钟)→ 构建 FAISS + BM25 索引 → 索引就绪(位于 mcp_server/index/)→ 维护(验证 → 优化 → 更新)。

阶段一:PDF 管理 检查状态:使用 ls pdfs/ 查看是否包含 mpep-*.pdf、consolidated_laws.pdf、consolidated_rules.pdf。 下载 PDF:可运行 patent-creator download-mpep,或运行 python install.py 并选择“Download MPEP PDFs”。 验证完整性:通过 Python 脚本使用 fitz 打开 pdfs 目录下的每个 PDF,输出页数或错误信息。

阶段二:索引构建 构建命令:patent-creator rebuild-index,或 python mcp_server/server.py --rebuild-index。 时间线:加载 PDF 约 30 秒;提取文本约 1-2 分钟;分块文本(500 tokens)约 30 秒;生成嵌入向量 GPU 约 5-10 分钟或 CPU 约 35-65 分钟;构建 FAISS/BM25 约 1 分钟;保存到磁盘约 10 秒。总计 GPU 约 5-15 分钟,CPU 约 35-65 分钟。 自定义构建:可通过 mcp_server.mpep_search 中的 MPEPIndex 类,设置 use_hyde=False,并调用 build_index(chunk_size=500, overlap=50, batch_size=32),若内存不足可将 batch_size 降至 16 或 8。

阶段三:验证 检查文件:ls -lh mcp_server/index/,预期文件包括 mpep_index.faiss(约 150MB)、mpep_metadata.json(约 80MB)、mpep_bm25.pkl(约 60MB)。 健康检查:patent-creator health,应显示 [OK] MPEP Index: Ready(12,543 chunks)。 手动测试:通过 Python 脚本实例化 MPEPIndex,构建索引后输出分块数量,并执行搜索(如 'claim definiteness',top_k=3)验证结果数量。

阶段四:维护 需要重建的情况:MPEP 更新(每季度检查 uspto.gov)、索引损坏、添加新 PDF 后、性能下降、机器迁移。 重建流程:可选备份(cp -r mcp_server/index mcp_server/index_backup_$(date +%Y%m%d))→ 重建(patent-creator rebuild-index)→ 验证(patent-creator health)→ 成功后删除备份(rm -rf mcp_server/index_backup_*)。

阶段五:内容更新 下载新 PDF(如 wget https://www.uspto.gov/web/offices/pac/mpep/mpep-2900.pdf -O pdfs/mpep-2900.pdf),然后重建索引(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;每周进行健康检查。