vector-upsert
現在のワーキングデータセットを取得し、関連するテキスト/フィールドを埋め込んで、設定済みのベクターデータベースバックエンド(Pinecone、Qdrant、Weaviate、Milvus、pgvector、ChromaDB)にアップサートするパイプラインを構築します。埋め込みモデルの選択、長いテキストのチャンキング、メタデータの付与、ネームスペース/コレクション管理、べき等なアップサートに対応しています。ユーザーがデータセットをセマンティック検索可能にしたい場合に使用します。
description の原文を見る
Build a pipeline that takes the current working dataset, embeds the relevant text/fields, and upserts into a configured vector database backend (Pinecone, Qdrant, Weaviate, Milvus, pgvector, ChromaDB). Handles embedding model selection, chunking for long text, metadata attachment, namespace/collection management, and idempotent upserts. Use when the user wants to make a dataset semantically searchable.
SKILL.md 本文
ベクトル アップサート
エンドツーエンド パイプライン: データセット → エンベディング → ベクトル DB アップサート。
実行するタイミング
- ユーザーがデータに対してセマンティック検索を行いたい場合。
database-guideがベクトル バックエンドを推奨した場合。- 既存のエンベディングを更新する必要がある場合。
サポートされているバックエンド
- Pinecone(マネージド クラウド)。
- Qdrant(セルフホスト型またはクラウド)。
- Weaviate(セルフホスト型またはクラウド)。
- Milvus / Zilliz。
- pgvector(Postgres 拡張)。
- ChromaDB(ローカル / 組み込み)。
手順
- ソースを特定する — データセット パス、およびエンベディングする列を特定します。
- エンベディング モデルを選択します:
- ローカル(API コストなし):
sentence-transformers(例:all-MiniLM-L6-v2、BAAI/bge-small-en-v1.5)またはタスク チューニング済みモデル。 - ホステッド: OpenAI
text-embedding-3-small/-large、Cohere、Voyage、Jina、ラッパー経由の Anthropic 互換。 - ユーザーがホステッド品質を希望しない限り、小さなローカル モデルをデフォルトとします。選択をデータ辞書に記録します。
- ローカル(API コストなし):
- 必要に応じてチャンク化します:
- 長いテキスト(選択したモデルのトークン予算を超える)を検出します。
- 文の境界でチャンク化し、オーバーラップさせます(デフォルト 400 トークン、50 オーバーラップ)。ユーザーに確認します。
- ダウンストリームの検索が再集約できるように、
chunk_idとparent_row_idを追跡します。
- メタデータを添付します — すべてのベクトルはフィルタリング用ペイロード メタデータを保有します。ユーザーに含める列を尋ねます(小さく保つこと。ベクトル DB は大きなブロブの保存場所ではありません)。
- ターゲットを設定します:
- 既存設定:
$CLAUDE_USER_DATA/Claude-Data-Wrangler/config.jsonのvector_profilesで保存済みバックエンドを確認します。 - 新しい設定: バックエンド、エンドポイント/URL、インデックス/コレクション名、API キー参照(環境変数 / 1Password / プロンプト — プレーンテキストは厳禁)を尋ねます。
- 選択したモデルの正しいベクトル次元および距離メトリック(デフォルトはコサイン)を使用して、インデックス/コレクションを作成します。
- 既存設定:
- バッチでエンベディングします(デフォルト 1 バッチあたり 64 行)。レート制限と一時的なエラーに対して再試行します。
- 決定的 ID(
parent_row_id + chunk_idのハッシュ)でアップサートします。これにより、再実行時は冪等になります。 - 検証します — 既知のIDをフェッチバックしてみます。サンプル クエリを実行し、結果の妥当性を確認します。
- レポートを作成します — エンベディング数、アップサート数、バックエンド インデックス統計、およびサンプル検索結果を報告します。
- データ辞書を更新します。エンベディング モデル、次元、チャンク パラメータ、ターゲット インデックス名を含めます。
設定ファイルの構造
$CLAUDE_USER_DATA/Claude-Data-Wrangler/config.json:
{
"vector_profiles": {
"pinecone-prod": {
"backend": "pinecone",
"index": "knowledge-base",
"namespace": "documents",
"api_key_ref": {"type": "op", "reference": "op://Private/Pinecone/api_key"}
},
"local-qdrant": {
"backend": "qdrant",
"url": "http://localhost:6333",
"collection": "documents"
}
},
"embedding_defaults": {
"model": "BAAI/bge-small-en-v1.5",
"dimension": 384,
"metric": "cosine"
}
}
依存関係
pip install pandas sentence-transformers # local embedding
# per backend
pip install pinecone-client
pip install qdrant-client
pip install weaviate-client
pip install pymilvus
pip install psycopg[binary] # for pgvector
pip install chromadb
エッジ ケース
- 次元のミスマッチ — 設定済みインデックスの次元が選択したモデルと異なる場合、アップサートを拒否し、モデルの切り替えまたは新しいインデックスの作成をお勧めします。ベクトルを自動的に再形成しないでください。
- ホステッド エンベディングのレート制限 — バックオフでバッチ処理します。大規模なデータセットについては事前にコストを見積もり、ユーザーに確認します。
- 冪等性と更新 — 決定的 ID は、同じデータに対して再実行すると上書きされます。ユーザーが履歴を保持したい場合、別の「バージョン管理済み」インデックスまたはメタデータに
versionフィールドを含めることをお勧めします。 - 多言語コンテンツ — 多言語モデル(
paraphrase-multilingual-mpnet-base-v2、multilingual-e5-large)を選択します。英語以外のコンテンツを英語専用モデルで暗黙的にエンベディングしないでください。 - エンベディング済みテキスト内の PII — 最初に
pii-flagを実行します。エンベディングはトレーニング隣接情報をリークする可能性があり、事後的な修正が困難です。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- danielrosehill
- ライセンス
- MIT
- 最終更新
- 2026/4/23
Source: https://github.com/danielrosehill/Claude-Data-Wrangler-plugin / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。