关于 similarity-search-patterns
介绍高效相似性搜索生产实践的技能,涵盖距离度量、索引选择、参数调优与评估,适用于构建语义搜索、检索或推荐系统的团队。
主要功能
- 01选择距离度量
- 02Flat、HNSW 与 IVF+PQ 索引指导
- 03调节召回率与速度
- 04结合语义与关键词搜索
- 05监控搜索质量
适用场景
- 01构建语义搜索系统
- 02实现 RAG 检索
- 03创建推荐引擎
- 04降低大规模搜索延迟
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ wshobson/ agents --skill similarity-search-patterns安装后在 Claude Code 中输入/similarity-search-patterns确认已加载。
附带文件references/details.md
详细介绍
相似度搜索模式
在生产系统中实现高效相似度搜索的模式。
何时使用本技能
- 构建语义搜索系统
- 实现 RAG 检索
- 创建推荐引擎
- 优化搜索延迟
- 扩展到数百万个向量
- 结合语义搜索与关键词搜索
核心概念
1. 距离度量
| 度量 | 公式 | 最适合 | | ------------------ | ------------------ | --------------------- | --- | -------------- | | 余弦 | 1 - (A·B)/(‖A‖‖B‖) | 归一化嵌入 | | 欧几里得(L2) | √Σ(a-b)² | 原始嵌入 | | 点积 | A·B | 大小很重要 | | 曼哈顿(L1) | Σ | a-b | | 稀疏向量 |
2. 索引类型
┌─────────────────────────────────────────────────┐
│ Index Types │
├─────────────┬───────────────┬───────────────────┤
│ Flat │ HNSW │ IVF+PQ │
│ (Exact) │ (Graph-based) │ (Quantized) │
├─────────────┼───────────────┼───────────────────┤
│ O(n) search │ O(log n) │ O(√n) │
│ 100% recall │ ~95-99% │ ~90-95% │
│ Small data │ Medium-Large │ Very Large │
└─────────────┴───────────────┴───────────────────┘
模板与详细示例
完整的模板库和详细示例位于 references/details.md。当你需要具体模板时,请阅读该文件。
最佳实践
应该做的
- 使用合适的索引 - 大多数情况下使用 HNSW
- 调整参数 - 使用 ef_search、nprobe 来平衡召回率/速度
- 实现混合搜索 - 与关键词搜索结合
- 监控召回率 - 衡量搜索质量
- 尽可能预过滤 - 缩小搜索空间
不应该做的
- 不要跳过评估 - 在优化前先衡量
- 不要过度索引 - 从 flat 开始,再逐步扩展
- 不要忽视延迟 - P99 对用户体验很重要
- 不要忘记成本 - 向量存储成本会累积
评论
支持 Markdown