hybrid-search-implementation
RAG用ハイブリッド検索の実装
純粋なベクトル検索は完全一致を見逃し、キーワード検索はセマンティッククエリで失敗します。このスキルは、RRF融合、線形結合、クロスエンコーダーによる再ランキングを使用して両方のアプローチを組み合わせる、すぐに使えるテンプレートを提供します。
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "hybrid-search-implementation". ベクトル検索とキーワード検索の結果をどのように組み合わせますか?
Résultat attendu:
- Reciprocal Rank Fusion (RRF)を使用:
- 1. 両方の検索を実行してランク付けされたリストを取得
- 2. 各結果について、スコア = sum(weight / (k + rank))を計算
- 3. 結合されたスコアでソートして融合
- 例:
- vector_results = [('doc1', 0.9), ('doc2', 0.8)]
- keyword_results = [('doc2', 0.95), ('doc3', 0.7)]
- fused = rrf_fusion([vector_results, keyword_results])
- # 返り値 [('doc2', 0.03), ('doc1', 0.016), ('doc3', 0.016)]
Utilisation de "hybrid-search-implementation". RRFと線形融合の違いは何ですか?
Résultat attendu:
- RRF (Reciprocal Rank Fusion):
- - スコア = sum(1 / (k + rank))
- - ランクベースで、スコア正規化が不要
- - k=60が標準定数
- - チューニングなしでうまく機能
- 線形結合:
- - スコア = alpha * vector_score + (1-alpha) * keyword_score
- - [0,1]へのスコア正規化が必要
- - Alphaはデータセットごとに経験的チューニングが必要
- - より制御可能だがチューニングが必要
Utilisation de "hybrid-search-implementation". ハイブリッド検索に再ランキングを追加すべきですか?
Résultat attendu:
- はい、再ランキングは品質を大幅に向上させます:
- 1. ハイブリッド検索からより多くの候補を取得(50-100)
- 2. クロスエンコーダーを使用してクエリとドキュメントのペアをスコアリング
- 3. 再ランキングされた上位k件の結果を返す
- トレードオフ:
- - + より高い精度と関連性
- - - 追加のレイテンシ(クロスエンコーダー推論)
- - モデル: cross-encoder/ms-marco-MiniLM-L-6-v2が良い出発点
Audit de sécurité
SûrAll static findings are false positives. The skill contains documentation templates for hybrid search algorithms (RRF, linear fusion) with PostgreSQL, Elasticsearch, and custom RAG pipelines. Static scanner misidentified mathematical formulas as crypto operations, markdown code fences as command execution, and benign terminology as security risks. No malicious code or credential exfiltration present.
Facteurs de risque
⚡ Contient des scripts (1)
📁 Accès au système de fichiers (1)
Score de qualité
Ce que vous pouvez construire
より高い再現率を持つRAGシステムの構築
セマンティック理解と完全一致を組み合わせて、LLMコンテキスト用のドキュメント検索を改善します。概念的類似性と特定の用語の両方を必要とするクエリに対応します。
エンタープライズ検索の実装
セマンティックに関連するコンテンツと、製品コード、名前、識別子などの正確な用語を含むドキュメントの両方を見つける検索システムを作成します。
検索品質メトリクスの改善
RRFなどの融合技術を適用して、精度を犠牲にすることなく再現率を向上させます。個別のスコアをログに記録して、検索品質をデバッグおよび調整します。
Essayez ces prompts
ベクトル検索とキーワード検索の結果を組み合わせるReciprocal Rank Fusionの実装を手伝ってください。(doc_id, score)タプルの2つのリストがあります。それらを融合する方法を示してください。
埋め込み用のpgvectorと全文検索用のtsvectorを備えたPostgreSQLテーブルのセットアップ方法を示してください。HNSWとGINインデックスの定義を含めてください。
RRFランク機能を使用して、密ベクトルkNNとBM25テキストマッチングを組み合わせたElasticsearchハイブリッド検索クエリの作成を手伝ってください。
ベクトル検索とキーワード検索を並列実行し、設定可能なメソッド(RRFまたは線形)で結果を融合し、オプションでクロスエンコーダーによる再ランキングを行う、完全なHybridRAGPipelineクラスを作成してください。
Bonnes pratiques
- パラメータチューニングなしでうまく機能するため、RRF融合から始めましょう。k=60を標準定数として使用してください。
- 良好な再現率を確保するために、融合前に個別の検索からより多くの候補(最終制限の3倍)を取得してください。
- 開発中はベクトルスコアとキーワードスコアの両方を個別にログに記録してください。これは結果が欠落している場合のデバッグに役立ちます。
- 本番システムにはクロスエンコーダー再ランキングを使用してください。品質の改善は顕著です。
Éviter
- すべてのクエリに対して単一の融合ウェイトが機能すると仮定しないでください。一部のクエリはよりセマンティックマッチングが必要で、他のクエリはキーワードマッチングが必要です。
- キーワード検索を完全にスキップしないでください。正確な用語マッチングは、名前、コード、特定のフレーズをベクトルよりもうまく処理します。
- 候補を過剰に取得しないでください。再現率のニーズとレイテンシのバランスを取ってください。再ランキング前の50-100候補が通常十分です。