index-manager について
MPEP 検索インデックスを管理するスキルです。特許検索システムの構築やトラブル対応を行う担当者向けに、PDF 管理、再構築、検証、性能調整を案内します。
主な機能
- 01PDF のダウンロードと検証
- 02インデックスの構築・再構築
- 03インデックスの状態確認
- 04コンテンツ更新後の再構築
- 05構築・検索性能の調整
活用シーン
- 01MPEP 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 トークン):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 対応