Compétences hybrid-search-implementation
🔍

hybrid-search-implementation

Sûr ⚡ Contient des scripts📁 Accès au système de fichiers

實作 RAG 混合搜尋

純向量搜尋會遺漏精確匹配,而關鍵字搜尋在語義查詢上會失效。此技能提供即用型範本,使用 RRF 融合、線性組合和交叉編碼器重排序來結合兩種方法。

Prend en charge: Claude Codex Code(CC)
📊 70 Adéquat
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "hybrid-search-implementation". 如何結合向量和關鍵字搜尋結果?

Résultat attendu:

  • 使用倒數排名融合 (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 (倒數排名融合):
  • - 分數 = 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ûr
v5 • 1/21/2026

All 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.

2
Fichiers analysés
1,169
Lignes analysées
2
résultats
5
Total des audits

Facteurs de risque

⚡ Contient des scripts (1)
📁 Accès au système de fichiers (1)

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
30
Communauté
100
Sécurité
87
Conformité aux spécifications

Ce que vous pouvez construire

建置具有更佳召回率的 RAG 系統

結合語義理解與精確匹配,改善 LLM 上下文的文件檢索。處理需要概念相似性和特定術語的查詢。

實作企業搜尋

建立能找到語義相關內容和包含精確詞彙(如產品代碼、名稱或識別碼)文件的搜尋系統。

改善搜尋品質指標

應用 RRF 等融合技術來提升召回率而不犧牲精確度。記錄個別分數以除錯和調整搜尋品質。

Essayez ces prompts

基本 RRF 融合
協助我實作倒數排名融合來結合向量和關鍵字搜尋結果。我有兩個 (doc_id, score) 元組列表。向我展示如何融合它們。
PostgreSQL 設定
向我展示如何使用 pgvector 為嵌入設定 PostgreSQL 表格,並使用 tsvector 進行全文搜尋。包含 HNSW 和 GIN 索引定義。
Elasticsearch kNN
協助我撰寫 Elasticsearch 混合搜尋查詢,使用 RRF rank 功能結合密集向量 kNN 與 BM25 文字匹配。
自訂 RAG 流程
建立完整的 HybridRAGPipeline 類別,並行執行向量和關鍵字搜尋,使用可配置方法(RRF 或線性)融合結果,並可選擇性地使用交叉編碼器重排序。

Bonnes pratiques

  • 從 RRF 融合開始,因為它無需參數調整即可良好運作。使用 k=60 作為標準常數。
  • 在融合前從個別搜尋中取得更多候選項(最終限制的 3 倍)以確保良好的召回率。
  • 在開發期間分別記錄向量和關鍵字分數。這有助於在結果遺漏時進行除錯。
  • 在生產系統中使用交叉編碼器重排序。品質改善是顯著的。

Éviter

  • 不要假設單一融合權重適用於所有查詢。某些查詢需要更多語義匹配,而其他查詢需要關鍵字匹配。
  • 不要完全跳過關鍵字搜尋。精確詞彙匹配在處理名稱、代碼和特定短語時比向量更好。
  • 不要過度取得候選項。在召回率需求與延遲之間取得平衡。重排序前 50-100 個候選項通常已足夠。

Foire aux questions

我應該從哪種融合方法開始?
從倒數排名融合 (RRF) 開始。它無需調整即可表現良好,且是許多生產系統的預設選擇。使用 k=60 作為常數。只有在需要明確控制向量與關鍵字平衡時才切換到線性組合。
如何處理向量和關鍵字搜尋之間不同的分數範圍?
在組合前將分數正規化至 [0, 1]。對於向量,使用最小-最大正規化。對於 BM25,分數已經在某種程度上正規化。線性組合需要正規化;RRF 不需要,因為它使用排名而非原始分數。
我應該使用什麼向量維度?
常見選擇是 768 (Sentence Transformers)、1024 (大型模型) 或 1536 (OpenAI ada-002)。需匹配您的嵌入模型。PostgreSQL pgvector 和 Elasticsearch 都支援可配置的維度。
如何選擇向量與關鍵字權重 (alpha)?
從 alpha=0.5 (相等權重) 開始。在您的特定查詢上測試,並根據是否需要更多語義召回或精確匹配來調整。某些查詢需要 alpha=0.7-0.8,其他需要 0.3-0.4。
我可以不使用重排序器而使用混合搜尋嗎?
是的,不使用重排序的混合搜尋在許多使用案例中運作良好。融合步驟(RRF 或線性)已經智慧地結合結果。當您需要最高品質結果且能容忍額外延遲時才加入重排序。
哪些資料庫支援混合搜尋?
具有 pgvector 擴充的 PostgreSQL、Elasticsearch 8.x (原生 kNN + RRF)、Vespa、Milvus、Qdrant 和 Weaviate 都支援混合搜尋模式。選擇取決於您現有的基礎設施和擴展需求。

Détails du développeur

Structure de fichiers

📄 SKILL.md