关于 alicloud-ai-search-dashvector
用于通过 DashVector Python SDK 管理集合和执行向量搜索的技能,涵盖文档写入与相似度查询,并支持过滤条件和稀疏向量。
主要功能
- 01按度量方式和字段结构创建集合
- 02写入稠密或稀疏向量文档
- 03按向量或文档 ID 查询
- 04应用过滤条件并选择输出字段
适用场景
- 01创建向量搜索集合
- 02幂等地写入文档
- 03通过范围过滤检索相似文档
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cinience/ alicloud-skills --skill alicloud-ai-search-dashvector安装后在 Claude Code 中输入/alicloud-ai-search-dashvector确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/sources.mdscripts/quickstart.py详细介绍
Category: provider
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(可选,字段类型字典)
写入文档
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/alicloud-ai-search-dashvector/scripts/quickstart.py
环境变量:
DASHVECTOR_API_KEYDASHVECTOR_ENDPOINTDASHVECTOR_COLLECTION(可选)DASHVECTOR_DIMENSION(可选)
可选参数:--collection、--dimension、--topk、--filter。
Claude Code/Codex 注意事项
- 优先使用
upsert,以实现幂等的数据写入。 - 确保
dimension与嵌入模型的输出维度一致。 - 使用筛选条件限定租户或数据集范围。
- 如果使用稀疏向量,请在写入或查询时传入
sparse_vector={token_id: weight, ...}。
错误处理
- 401/403:
DASHVECTOR_API_KEY无效 - 400:集合架构无效或维度不匹配
- 429/5xx:使用指数退避重试
验证
mkdir -p output/alicloud-ai-search-dashvector
for f in skills/ai/search/alicloud-ai-search-dashvector/scripts/*.py; do
python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/alicloud-ai-search-dashvector/validate.txt
通过标准:命令退出码为 0,且已生成 output/alicloud-ai-search-dashvector/validate.txt。
输出与证据
- 将构件、命令输出和 API 响应摘要保存到
output/alicloud-ai-search-dashvector/下。 - 在证据文件中包含关键参数(区域/资源 ID/时间范围),以便复现。
工作流
- 确认用户意图、区域、标识符,以及操作是只读还是会修改数据。
- 首先运行一次最简只读查询,以验证连通性和权限。
- 使用明确的参数和受限范围执行目标操作。
- 验证结果并保存输出/证据文件。
参考资料
-
DashVector Python SDK:
Client.create、Collection.upsert、Collection.query -
来源列表:
references/sources.md
评论
支持 Markdown