mcpField
I
index-manager

index-manager

github.com/robthepcguyデータ・データベース20657 回インストール3 日前に更新
リポジトリ

index-manager について

MPEP 検索インデックスを管理するスキルです。特許検索システムの構築やトラブル対応を行う担当者向けに、PDF 管理、再構築、検証、性能調整を案内します。

主な機能

  1. 01PDF のダウンロードと検証
  2. 02インデックスの構築・再構築
  3. 03インデックスの状態確認
  4. 04コンテンツ更新後の再構築
  5. 05構築・検索性能の調整

活用シーン

  1. 01MPEP 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 トークン):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-mpepMPEP の PDF をダウンロード
patent-creator rebuild-index検索インデックスを構築/再構築
patent-creator healthインデックスの状態を確認
ls -lh mcp_server/index/インデックスファイルを表示

ベストプラクティス:

  1. 再構築前にバックアップを作成する
  2. 構築前に PDF を検証する
  3. GPU を使用してビルドを 10 倍高速化する
  4. 再構築後にテストする
  5. 検証が完了するまで PDF を保持する
  6. 毎週ヘルスチェックを実施する

コメント