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". How do I combine vector and keyword search results?

Résultat attendu:

  • Use Reciprocal Rank Fusion (RRF):
  • 1. Run both searches to get ranked lists
  • 2. For each result, calculate score = sum(weight / (k + rank))
  • 3. Fuse by sorting combined scores
  •  
  • Example:
  • vector_results = [('doc1', 0.9), ('doc2', 0.8)]
  • keyword_results = [('doc2', 0.95), ('doc3', 0.7)]
  • fused = rrf_fusion([vector_results, keyword_results])
  • # Returns [('doc2', 0.03), ('doc1', 0.016), ('doc3', 0.016)]

Utilisation de "hybrid-search-implementation". What's the difference between RRF and linear fusion?

Résultat attendu:

  • RRF (Reciprocal Rank Fusion):
  • - Score = sum(1 / (k + rank))
  • - Rank-based, no score normalization needed
  • - k=60 is standard constant
  • - Works well without tuning
  •  
  • Linear Combination:
  • - Score = alpha * vector_score + (1-alpha) * keyword_score
  • - Requires score normalization to [0,1]
  • - Alpha needs empirical tuning per dataset
  • - More controllable but requires tuning

Utilisation de "hybrid-search-implementation". Should I add reranking to my hybrid search?

Résultat attendu:

  • Yes, reranking improves quality significantly:
  •  
  • 1. Fetch more candidates from hybrid search (50-100)
  • 2. Use cross-encoder to score query-document pairs
  • 3. Return top-k reranked results
  •  
  • Trade-offs:
  • - + Better precision and relevance
  • - - Additional latency (cross-encoder inference)
  • - Model: cross-encoder/ms-marco-MiniLM-L-6-v2 is a good starting point

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-фьюжн
Помогите мне реализовать Reciprocal Rank Fusion для объединения результатов векторного поиска и поиска по ключевым словам. У меня есть два списка кортежей (doc_id, score). Покажите, как их объединить.
Настройка PostgreSQL
Покажите, как настроить таблицу PostgreSQL с pgvector для эмбеддингов и tsvector для полнотекстового поиска. Включите определения индексов HNSW и GIN.
Elasticsearch kNN
Помогите написать запрос гибридного поиска Elasticsearch, который объединяет dense vector kNN с текстовым сопоставлением BM25 с использованием функции ранжирования RRF.
Пользовательский конвейер RAG
Создайте полный класс HybridRAGPipeline, который выполняет векторный поиск и поиск по ключевым словам параллельно, объединяет результаты с настраиваемыми методами (RRF или линейный) и опционально переранжирует с помощью кросс-энкодера.

Bonnes pratiques

  • Начните с RRF-фьюжн, так как он хорошо работает без настройки параметров. Используйте k=60 как стандартную константу.
  • Получайте больше кандидатов из отдельных поисков (в 3 раза больше финального лимита) перед слиянием для обеспечения хорошей полноты поиска.
  • Логируйте отдельно показатели векторного поиска и поиска по ключевым словам во время разработки. Это помогает отлаживать случаи, когда результаты отсутствуют.
  • Используйте переранжирование кросс-энкодером для производственных систем. Улучшение качества значительно.

Éviter

  • Не предполагайте, что один вес фьюжн работает для всех запросов. Некоторым запросам нужно больше семантического сопоставления, другим — поиск по ключевым словам.
  • Не отказывайтесь полностью от поиска по ключевым словам. Точное сопоставление терминов лучше работает с именами, кодами и конкретными фразами, чем векторы.
  • Не запрашивайте слишком много кандидатов. Балансируйте потребности полноты поиска с задержкой. Обычно достаточно 50-100 кандидатов перед переранжированием.

Foire aux questions

Какой метод фьюжн мне использовать для начала?
Начните с Reciprocal Rank Fusion (RRF). Он хорошо работает без настройки и используется по умолчанию во многих производственных системах. Используйте k=60 как константу. Переходите к линейной комбинации только если вам нужен явный контроль над балансом векторного поиска и поиска по ключевым словам.
Как обрабатывать разные диапазоны показателей между векторным поиском и поиском по ключевым словам?
Нормализуйте показатели к диапазону [0, 1] перед объединением. Для векторов используйте min-max нормализацию. Для BM25 показатели уже somewhat normalized. Линейная комбинация требует нормализации; 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 или линейный) уже интеллектуально объединяет результаты. Добавьте переранжирование, когда вам нужны результаты высочайшего качества и вы можете терпеть дополнительную задержку.
Какие базы данных поддерживают гибридный поиск?
PostgreSQL с расширением pgvector, Elasticsearch 8.x (нативный kNN + RRF), Vespa, Milvus, Qdrant и Weaviate поддерживают паттерны гибридного поиска. Выбор зависит от вашей существующей инфраструктуры и требований масштабирования.

Détails du développeur

Structure de fichiers

📄 SKILL.md