关于 aliyun-dashvector-search
使用 Alibaba Cloud DashVector 管理向量集合并执行相似度搜索的技能。通过 Python SDK 支持过滤查询、稀疏向量和多向量集合。
主要功能
- 01按模式创建集合
- 02写入文档和向量
- 03按向量或文档 ID 搜索
- 04应用过滤条件并选择输出字段
- 05支持稀疏向量和多向量
适用场景
- 01向集合写入向量
- 02通过过滤条件查找相似文档
- 03检索指定字段或向量
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cinience/ alicloud-skills --skill aliyun-dashvector-search安装后在 Claude Code 中输入/aliyun-dashvector-search确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/sources.mdscripts/quickstart.py详细介绍
类别:提供方
DashVector 向量搜索
使用 DashVector 管理集合并执行向量相似度搜索,可选择使用筛选条件和稀疏向量。
前置条件
- 安装 SDK(建议在 venv 中安装,以避免 PEP 668 限制):
python3 -m venv .venv
. .venv/bin/activate
python -m pip install dashvector
- 通过环境变量提供凭据和端点:
DASHVECTOR_API_KEYDASHVECTOR_ENDPOINT(集群端点)
标准化操作
创建集合
name(str)dimension(int)metric(str:cosine|dotproduct|euclidean)fields_schema(可选的字段类型字典)
Upsert 文档
docs列表,元素为{id, vector, fields}或元组- 支持
sparse_vector和多向量集合
查询文档
vector或id(必须提供其中一个;如果两者都为空,则仅应用筛选条件)topk(int)filter(类 SQL 的 where 子句)output_fields(字段名称列表)include_vector(bool)
快速入门(Python SDK)
import os
import dashvector
from dashvector import Doc
client = dashvector.Client(
api_key=os.getenv("DASHVECTOR_API_KEY"),
endpoint=os.getenv("DASHVECTOR_ENDPOINT"),
)
# 1) Create a collection
ret = client.create(
name="docs",
dimension=768,
metric="cosine",
fields_schema={"title": str, "source": str, "chunk": int},
)
assert ret
# 2) Upsert docs
collection = client.get(name="docs")
ret = collection.upsert(
[
Doc(id="1", vector=[0.01] * 768, fields={"title": "Intro", "source": "kb", "chunk": 0}),
Doc(id="2", vector=[0.02] * 768, fields={"title": "FAQ", "source": "kb", "chunk": 1}),
]
)
assert ret
# 3) Query
ret = collection.query(
vector=[0.01] * 768,
topk=5,
filter="source = 'kb' AND chunk >= 0",
output_fields=["title", "source", "chunk"],
include_vector=False,
)
for doc in ret:
print(doc.id, doc.fields)
脚本快速入门
python skills/ai/search/aliyun-dashvector-search/scripts/quickstart.py
环境变量:
DASHVECTOR_API_KEYDASHVECTOR_ENDPOINTDASHVECTOR_COLLECTION(可选)DASHVECTOR_DIMENSION(可选)
可选参数:--collection、--dimension、--topk、--filter。
Claude Code/Codex 使用说明
- 优先使用
upsert进行幂等数据导入。 - 确保
dimension与嵌入模型的输出维度一致。 - 使用筛选条件限定租户或数据集范围。
- 如果使用稀疏向量,请在 upsert/查询时传入
sparse_vector={token_id: weight, ...}。
错误处理
- 401/403:
DASHVECTOR_API_KEY无效 - 400:集合架构无效或维度不匹配
- 429/5xx:使用指数退避重试
验证
mkdir -p output/aliyun-dashvector-search
for f in skills/ai/search/aliyun-dashvector-search/scripts/*.py; do
python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/aliyun-dashvector-search/validate.txt
通过标准:命令以 0 退出,并生成 output/aliyun-dashvector-search/validate.txt。
输出与证据
- 将产物、命令输出和 API 响应摘要保存到
output/aliyun-dashvector-search/下。 - 在证据文件中包含关键参数(区域/资源 ID/时间范围),以便复现。
工作流
- 确认用户意图、区域、标识符,以及操作是只读还是会修改数据。
- 先运行一次最小化的只读查询,以验证连接和权限。
- 使用明确的参数和有限的范围执行目标操作。
- 验证结果并保存输出/证据文件。
参考资料
-
DashVector Python SDK:
Client.create、Collection.upsert、Collection.query -
来源列表:
references/sources.md
评论
支持 Markdown