Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

vector-search-designer矢量搜索设计器

Agent Skill

用于搭建或维护带检索增强的 RAG 工作流,适合让 Agent 处理知识库问答、向量检索、来源引用和事实核查。它可以辅助整理数据接入、Embedding、向量库、召回参数和回答生成流程。使用时需要确认数据来源、更新频率、召回阈值和引用展示方式,避免把未命中的资料或过期内容包装成确定事实。

总安装

20,003

周安装

525

GitHub Stars

3

下载量

5,789
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:vector-search-designer(矢量搜索设计器)
来源仓库:https://github.com/jmsktm/claude-settings
仓库路径:skills/vector-search-designer
安装命令:
npx skills add https://github.com/jmsktm/claude-settings --skill 'Vector Search Designer'
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/jmsktm/claude-settings --skill 'Vector Search Designer'

简介

vector-search-designer 用于搭建和维护带检索增强的 RAG 工作流,适合知识库问答与事实核查场景。

  • 适用于向量检索、Embedding 管理和来源引用展示等智能问答支持。
  • 需确认数据来源、更新频率与召回阈值设置。
  • 应避免将未命中资料包装成确定事实,确保回答可追溯。
  • 建议在测试环境中验证检索效果后再部署至生产。

SKILL.md

Vector Search Designer

The Vector Search Designer skill helps you architect and implement vector similarity search systems that power semantic search, recommendation engines, and AI applications. It guides you through selecting the right vector database, designing index structures, optimizing query performance, and scaling to millions or billions of vectors.

Vector search has become foundational to modern AI systems, from RAG pipelines to product recommendations. This skill covers the full stack: understanding approximate nearest neighbor (ANN) algorithms, choosing between database options, tuning recall vs latency tradeoffs, and implementing production-ready search infrastructure.

Whether you are building on Pinecone, Weaviate, Qdrant, pgvector, or implementing your own solution, this skill ensures your vector search system meets your performance and accuracy requirements.

Core Workflows

Workflow 1: Select Vector Database

  1. Gather requirements:

- Scale: How many vectors? - Query patterns: Single vs batch, filters needed? - Latency requirements: Real-time vs batch? - Update frequency: Static vs dynamic? - Infrastructure: Managed vs self-hosted?

  1. Compare options: Database Scale Managed Features Best For Pinecone Billion+ Yes Hybrid, namespaces Production, zero-ops Weaviate 100M+ Both GraphQL, modules Multi-modal, complex queries Qdrant 100M+ Both Rust perf, filtering High performance, self-hosted Milvus Billion+ Both GPU support, clustering Large scale, ML teams pgvector 10M No PostgreSQL native Existing Postgres, small scale Chroma 1M No Simple API Prototyping, embedded
  2. Evaluate with your data
  3. Document decision rationale

Workflow 2: Design Index Architecture

  1. Choose ANN algorithm:

- HNSW: Best recall/speed tradeoff, memory intensive - IVF: Good for very large datasets, requires training - PQ: Compression for scale, some accuracy loss - Flat: Exact search, small datasets only

  1. Configure index parameters: # HNSW example configuration hnsw_config = {"M": 16, # Connections per node (higher = better recall, more memory) "efConstruction": 200, # Build-time search depth "efSearch": 100, # Query-time search depth} # IVF example configuration ivf_config = {"nlist": 1024, # Number of clusters "nprobe": 32, # Clusters to search at query time}
  2. Plan sharding strategy for scale
  3. Design metadata schema for filtering

Workflow 3: Optimize Search Performance

  1. Benchmark baseline performance:

- Queries per second (QPS) - Latency (p50, p95, p99) - Recall@k accuracy

  1. Identify bottlenecks:

- Index loading time - Search latency - Filter computation - Network overhead

  1. Apply optimizations:

- Tune index parameters (ef, nprobe) - Implement query caching - Optimize filter expressions - Consider quantization for memory

  1. Validate recall vs latency tradeoff
  2. Document optimal configuration

Quick Reference

ActionCommand/Trigger
Choose database"Which vector database for [use case]"
Design index"Design vector index for [scale]"
Optimize search"Speed up vector search"
Add filtering"Add metadata filters to vector search"
Scale vectors"Scale to [N] million vectors"
Benchmark search"Benchmark vector search performance"

Best Practices

  • Right-Size Your Database: Don't over-engineer for scale you don't need

- <1M vectors: pgvector or Chroma often sufficient - 1-100M vectors: Qdrant, Weaviate, or Pinecone - 100M+ vectors: Milvus or Pinecone with careful design

  • Understand Recall vs Speed Tradeoff: ANN is approximate by design

- Higher recall = slower queries - Tune based on your accuracy requirements - Measure actual recall, don't assume

  • Use Hybrid Search When Needed: Combine vector and keyword search

- Vector: semantic similarity - Keyword (BM25): exact terms, names, codes - Typically improves results for mixed queries

  • Design Metadata for Filtering: Plan your filter strategy upfront

- Indexed fields for frequent filters - Avoid filtering on high-cardinality fields - Pre-filter vs post-filter tradeoffs

  • Batch Operations When Possible: Reduce network overhead

- Batch upserts for ingestion - Batch queries when latency allows - Use async operations

  • Monitor and Alert: Production search needs observability

- Query latency percentiles - Index size and memory usage - Recall degradation over time

Advanced Techniques

Multi-Vector Search

Handle documents with multiple representations:

class MultiVectorIndex:
    def __init__(self):
        self.title_index = VectorIndex(dim=768)
        self.content_index = VectorIndex(dim=768)
        self.summary_index = VectorIndex(dim=768)

    def search(self, query_embedding, weights=None):
        weights = weights or {"title": 0.3, "content": 0.5, "summary": 0.2}

        results = {}
        for field, weight in weights.items():
            index = getattr(self, f"{field}_index")
            field_results = index.search(query_embedding, k=20)
            for doc_id, score in field_results:
                results[doc_id] = results.get(doc_id, 0) + score * weight

        return sorted(results.items(), key=lambda x: x[1], reverse=True)[:10]

Filtered Vector Search Strategies

Optimize search with filters:

def filtered_search(query_embedding, filters, k=10):
    # Strategy 1: Pre-filter (for selective filters)
    if estimate_selectivity(filters) < 0.1:
        candidate_ids = apply_filters(filters)
        return vector_search_subset(query_embedding, candidate_ids, k)

    # Strategy 2: Post-filter (for non-selective filters)
    elif estimate_selectivity(filters) > 0.5:
        results = vector_search(query_embedding, k * 3)
        filtered = [r for r in results if matches_filters(r, filters)]
        return filtered[:k]

    # Strategy 3: Hybrid (general case)
    else:
        return vector_search_with_filters(query_embedding, filters, k)

Quantization for Scale

Reduce memory with acceptable accuracy loss:

# Product Quantization configuration
pq_config = {
    "nbits": 8,  # Bits per sub-quantizer
    "m": 16,  # Number of sub-quantizers
    # 768-dim * 4 bytes = 3KB/vector -> 16 * 1 byte = 16 bytes/vector
}

# Binary quantization (extreme compression)
binary_config = {
    "threshold": 0,  # Values > 0 -> 1, else -> 0
    # 768-dim * 4 bytes = 3KB/vector -> 768 bits = 96 bytes/vector
}

Incremental Index Updates

Handle dynamic data efficiently:

class DynamicVectorIndex:
    def __init__(self, rebuild_threshold=10000):
        self.main_index = build_optimized_index()
        self.delta_index = []  # Recent additions
        self.rebuild_threshold = rebuild_threshold

    def add(self, vector, metadata):
        self.delta_index.append((vector, metadata))
        if len(self.delta_index) >= self.rebuild_threshold:
            self.rebuild()

    def search(self, query, k):
        main_results = self.main_index.search(query, k)
        delta_results = brute_force_search(self.delta_index, query, k)
        return merge_results(main_results, delta_results, k)

    def rebuild(self):
        all_data = self.main_index.get_all() + self.delta_index
        self.main_index = build_optimized_index(all_data)
        self.delta_index = []

Common Pitfalls to Avoid

  • Using exact (flat) search at scale instead of ANN
  • Not measuring actual recall, assuming ANN is "good enough"
  • Over-indexing metadata fields, slowing down updates
  • Ignoring the memory requirements of HNSW indexes
  • Not planning for index rebuilds and maintenance windows
  • Assuming vector databases handle all use cases (sometimes Elasticsearch is better)
  • Forgetting to normalize vectors for cosine similarity
  • Mixing embeddings from different models in the same index

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.42%
按下载量换算1,993

Claude

28.58%
按下载量换算1,654

Cursor

18.86%
按下载量换算1,092

Gemini CLI

9.28%
按下载量换算537

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills