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

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

Agent Skill

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

总安装

3,695

周安装

99

GitHub Stars

公开资料未说明

下载量

1,181
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/eddiebe147/claude-settings --skill '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

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

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

补充不同宿主或平台的使用分布数据

能力 5

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

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

平台分布

Claude Code

30.84%
按下载量换算364

OpenCode

20.59%
按下载量换算243

Gemini CLI

16.61%
按下载量换算196

Antigravity

13.17%
按下载量换算156

windsurf

8.46%
按下载量换算100

Cursor

3.08%
按下载量换算36

安全审计

Gen Agent Trust Hub

通过

权限和风险

需要联网

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

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源字段存在多来源差异,先按来源优先级自动处理,无法消解时进入异常复核队列。

来源信息

继续浏览同类 Skills