返回顶部
o

opensearch-vector-search向量搜索

|

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.3.2
安全检测
已通过
181
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

opensearch-vector-search

OpenSearch 向量搜索专家

GitHub: norrishuang/opensearch-vector-search-skill
— 欢迎提交 Issue、PR 和新的参考贡献!

安全注意事项

  • - 定价脚本 (scripts/getopensearchpricing.py):向 AWS 定价 API (pricing.us-east-1.amazonaws.com) 发起出站 HTTPS 请求。需要 boto3 和有效的 AWS 凭证。该脚本为只读(获取公开定价数据),不会修改任何 AWS 资源。仅在用户明确请求成本估算时运行。
  • 参考示例:references/ 中的代码片段包含对 localhost:9200(标准 OpenSearch 端点)的示例 API 调用。这些仅为文档示例——请勿自动执行。应将其作为配置参考呈现给用户。
  • 集群分析器 (scripts/analyze_cluster.py):连接到用户提供的 OpenSearch 集群,执行只读分析。它从不创建、修改或删除任何索引或数据。仅在用户明确提供集群凭证(URL + 用户名/密码)时运行。

知识库结构

根据问题类型读取相应的参考文件:

问题类型参考文件关键词
向量搜索、k-NN、HNSW、磁盘模式references/vector-search.mdvector, knn, hnsw, warmup, disk mode, on_disk
量化技术
references/quantization-techniques.md | quantization, compression, binary, byte, fp16, product quantization |
| 成本优化、实例规格、内存计算 | references/cost-optimization.md | cost, pricing, instance, memory calculation, cluster sizing, budget |
| 集群调优、JVM、线程池 | references/cluster-tuning.md | JVM, heap, thread pool, node role, shard allocation |
| 性能基准测试、数据集规模 | references/performance-benchmarks.md | benchmark, QPS, latency, recall, dataset size |
| 索引策略、映射 | references/indexing-strategies.md | index, mapping, shard, replica, lifecycle |
| 查询优化 | references/query-optimization.md | query, filter, aggregation, cache, pagination |
| 优化实例(OR1/OR2/OM2/OI2) | references/optimized-instances.md | optimized, OR1, OR2, OM2, OI2, S3 durability, indexing throughput |
| 实时集群分析 | scripts/analyze_cluster.py | analyze cluster, connect, diagnose, review config, health check |

核心工作流程

1. 回答向量搜索配置问题

  1. 1. 读取 references/vector-search.md
  2. 根据用户场景(延迟要求、数据规模、QPS)推荐内存模式或磁盘模式
  3. 提供具体的映射 JSON 配置
  4. 推荐 FAISS 引擎 + 余弦相似度 + 7/8 系列实例

2. 容量规划与实例规格选择(最常见场景)

用户提供向量数量和维度后:

  1. 1. 读取 references/cost-optimization.md 获取内存计算公式和示例
  2. 使用标准 HNSW 内存公式进行计算(来源:AWS 官方博客):

未量化(float32):
内存 = 1.1 × (4 × d + 8 × m) × num_vectors × (replicas + 1) 字节

量化后(FAISS 引擎,内存中压缩向量):
FP16(2倍): 内存 = 1.1 × (2 × d + 8 × m) × num_vectors × (replicas + 1)
Byte(4倍): 内存 = 1.1 × (1 × d + 8 × m) × num_vectors × (replicas + 1)
Binary 4-bit: 内存 = 1.1 × (d/2 + 8 × m) × num_vectors × (replicas + 1)
Binary 2-bit: 内存 = 1.1 × (d/4 + 8 × m) × num_vectors × (replicas + 1)
Binary 1-bit: 内存 = 1.1 × (d/8 + 8 × m) × num_vectors × (replicas + 1)

其中:d=向量维度,m=HNSW 连接数(默认16),num_vectors=总向量数

  1. 3. 应用 OpenSearch 节点内存分配规则:

JVM 堆内存 = min(节点内存 × 50%, 32GB)
剩余内存 = 节点内存 - JVM 堆内存
KNN 可用内存 = 剩余内存 × 75%(knn.memory.circuit_breaker.limit=70% 时,约为节点内存的 35%)

  1. 4. 选择实例类型,确保集群总 KNN 可用内存 > 向量索引内存需求
  2. 运行定价脚本获取实时价格(见下文)

3. 成本估算(含实时定价)

当用户需要成本估算时:

  1. 1. 完成上述容量规划
  2. 运行定价脚本获取实时价格:
bash python3 scripts/getopensearchpricing.py --region --instance-type
  1. 3. 计算月度成本:

实例成本 = 单价 × 节点数 × (1 + 副本数)
EBS 成本 = 容量(GB) × $0.08 + 额外 IOPS 费用
总成本 = 实例成本 + EBS 成本

  1. 4. 比较不同量化选项的成本差异

4. 实时集群分析(用户提供集群凭证时)

当用户提供 OpenSearch 集群 URL 和凭证时,使用集群分析器连接并检查其向量搜索配置。此为只读操作——绝不修改集群。

前提条件:用户必须明确提供:

  • - 集群 URL(例如 https://my-cluster.us-east-1.es.amazonaws.com)
  • 用户名和密码(基本认证),或对无需认证的集群使用 --no-auth

工作流程

  1. 1. 询问凭证(如未提供):URL、用户名、密码
  2. 运行集群概览获取健康状态、节点和 k-NN 索引列表:
bash python3 scripts/analyze_cluster.py --url -u -p --action cluster-overview -f pretty
  1. 3. 分析特定索引(如用户指定),或选择最重要的 k-NN 索引:
bash python3 scripts/analyzecluster.py --url -u -p --action index-detail --index name> -f pretty
  1. 4. 分析目标索引的分片分布
bash python3 scripts/analyzecluster.py --url -u -p --action shard-analysis --index name> -f pretty
  1. 5. 一次性运行所有分析(获取综合报告):
bash python3 scripts/analyzecluster.py --url -u -p --action all --index name> -f pretty
  1. 6. 解读 JSON 输出并向用户呈现发现结果:
- 集群健康状态和节点资源利用率 - 向量字段配置(引擎、维度、HNSW 参数、量化方式) - 内存估算与实际集群容量对比 - 自动生成的建议(来自脚本)
  1. 7. 根据发现结果提供可操作建议
- 如需,建议更好的引擎/量化方式(提供示例映射 JSON) - 如内存配置过多或不足,建议调整实例规格 - 如分片分布不均,建议重新平衡分片 - 绝不执行写入操作——仅提供示例配置供用户自行应用

集群分析器脚本参考

用法:
python3 scripts/analyze_cluster.py --url -u -p [选项]

操作:
--action cluster-overview 集群健康状态、节点、k-NN 统计信息和所有 k-NN 索引摘要(默认)
--action index-detail 深入分析特定索引的向量配置 + 内存估算
--action shard-analysis 特定索引的分片分布和大小
--action all 运行所有分析

选项:
--index 指定目标索引(index-detail 和 shard-analysis 必需)
--no-auth 无需认证连接
--verify-ssl 验证 SSL 证书(默认:跳过)
--format pretty 人类可读的 JSON 输出

输出:包含以下顶级键的 JSON:
- cluster_overview:健康状态、版本、节点(内存/CPU

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 opensearch-vector-search-1776194043 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 opensearch-vector-search-1776194043 技能

通过命令行安装

skillhub install opensearch-vector-search-1776194043

下载

⬇ 下载 opensearch-vector-search v1.3.2(免费)

文件大小: 61.33 KB | 发布时间: 2026-4-17 15:40

v1.3.2 最新 2026-4-17 15:40
- Added version, repository, and GitHub community links to SKILL.md.
- Improved documentation formatting and clarity in the introduction.
- No workflow or logic changes; content and core workflows remain the same.
- Audience is now encouraged to submit issues or PRs via the repository link.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large