mcpField
V
vector-db

vector-db

github.com/alphaonedev数据与数据库45 次安装
代码仓库

关于 vector-db

用于 AI/ML 工作流中管理向量数据库的技能,适合构建相似度搜索和检索应用的开发者,涵盖索引、元数据、距离度量与向量查询。

主要功能

  1. 01存储带元数据的向量
  2. 02执行近邻搜索
  3. 03选择余弦、欧氏或点积度量
  4. 04创建索引并查询向量

适用场景

  1. 01使用嵌入搜索文档
  2. 02检索相似图像
  3. 03构建推荐工作流
  4. 04按相似度查询索引向量

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill vector-db

安装后在 Claude Code 中输入/vector-db确认已加载。

详细介绍

vector-db

用途

此技能可用于管理向量数据库,以存储、索引和查询高维向量,并优化 AI/ML 工作流,适用于相似性搜索和嵌入等任务。

适用场景

在需要快速向量相似性查询的 AI/ML 应用中使用此技能,例如构建推荐引擎、NLP 语义搜索或图像检索系统。处理大规模向量数据(例如来自 BERT 等模型的嵌入)时,可使用此技能来避免暴力比较。

主要功能

  • 使用索引存储带有元数据的向量,并高效地执行最近邻搜索。
  • 支持余弦、欧几里得和点积等距离度量,用于计算相似度。
  • 支持最高 2048 维的向量,并可扩展至数百万条记录。
  • 与嵌入模型集成,实时生成和查询向量。

使用模式

通过 CLI 执行快速操作,或在代码中通过 API 调用。使用前务必设置环境变量 $VECTOR_DB_API_KEY 进行身份验证。使用 CLI 时,在命令前加上 vector-db;复杂配置请使用 JSON 配置文件(例如,config.json 中包含 { "dimension": 768, "metric": "cosine" })。在代码中,使用 HTTP 请求调用 API 端点,并确保检查响应中的错误。操作流程:首先创建索引,然后插入向量,最后查询向量。

常用命令/API

使用 CLI 工具 vector-db,或调用 API:https://api.openclaw.com/vector-db/v1。身份验证要求在请求头中提供 $VECTOR_DB_API_KEY。

  • CLI 命令:创建索引
    vector-db create index --name myindex --dimension 768 --metric cosine --file config.json
    此命令会初始化一个新索引;请确保 config.json 指定了分片等其他选项。

  • CLI 命令:插入向量
    vector-db insert --index myindex --vectors "[0.1, 0.2, 0.3]" --id vec1
    向量必须采用 JSON 数组格式;批量插入时使用 --batch 标志。

  • API 端点:查询向量
    POST https://api.openclaw.com/vector-db/v1/indexes/myindex/query
    请求体:{ "vector": [0.1, 0.2, 0.3], "top_k": 5 }
    响应:最近邻的 JSON 数组。

  • API 端点:删除索引
    DELETE https://api.openclaw.com/vector-db/v1/indexes/myindex
    包含请求头:Authorization: Bearer $VECTOR_DB_API_KEY

配置格式:CLI 操作时使用 JSON 文件,例如 { "index_name": "myindex", "vector_size": 768, "distance": "cosine" }。

集成说明

将模型生成的向量导出,并使用此技能进行存储,以便与 AI/ML 工具集成。在环境变量或 .env 文件中设置 $VECTOR_DB_API_KEY。如需集成 Python,请使用 requests 库:

import requests  
headers = {'Authorization': f'Bearer {os.environ.get("VECTOR_DB_API_KEY")}' }  
response = requests.post('https://api.openclaw.com/vector-db/v1/indexes/myindex/insert', json={'vectors': [[0.1, 0.2]]}, headers=headers)  

确保 API 基础 URL 与部署环境一致;可通过添加重试机制来应对速率限制。如需使用 aimlops 进行聚类,请通过共享 ID 关联(例如,在工作流中使用技能 ID "vector-db")。

错误处理

常见错误包括:缺少 $VECTOR_DB_API_KEY 导致身份验证失败(HTTP 401)、向量维度无效(例如,与索引维度不匹配)或网络问题。处理方法:

  • 检查是否出现 401 错误,并提示用户设置 $VECTOR_DB_API_KEY。
  • 对于无效输入,请在代码中使用 try-except:
    try:  
        response = requests.post(url, json=data)  
        response.raise_for_status()  
    except requests.exceptions.HTTPError as e:  
        print(f"Error: {e} - Check vector dimensions.")  
    
  • CLI 错误会显示为 "Error: Invalid metric specified";请核对命令标志并修正。发送请求前务必验证输入。

具体使用示例

  1. 示例:构建简单的搜索引擎
    首先,创建索引:vector-db create index --name searchindex --dimension 512。
    插入嵌入向量:vector-db insert --index searchindex --vectors '[[0.5, 0.6], [0.7, 0.8]]' --ids 'doc1,doc2'。
    查询相似度:使用 API POST 请求 /indexes/searchindex/query,请求体为 { "vector": [0.5, 0.6], "top_k": 3 }。
    此模式非常适用于 NLP,例如根据嵌入向量搜索相似文档。

  2. 示例:在 ML 工作流中进行图像相似度搜索
    使用模型生成图像嵌入向量,然后存储:vector-db insert --index imageindex --vectors '[[0.1, 0.2, 0.3]]' --metadata '{"url": "image1.jpg"}'。
    查询相似图像:使用 CLI vector-db query --index imageindex --vector [0.1, 0.2, 0.3] --top_k 5。
    在代码中集成时,可获取结果并按元数据筛选,适用于推荐系统。

图关系

  • 连接到集群:aimlops(例如,与数据处理技能共享数据工作流)。
  • 关联到:嵌入生成技能(用于创建向量)和查询优化工具(用于增强搜索)。
  • 与以下内容相关联:用于集成 ML 模型的 AI 技能,以及用于存储训练数据的 ML 技能。

评论

支持 Markdown