运行时依赖
安装命令
点击复制技能文档
类别:提供商 DashVector 向量搜索 使用 DashVector 管理集合并执行向量相似性搜索,支持可选过滤器和稀疏向量。
前提条件 安装 SDK(推荐在 venv 中安装以避免 PEP 668 限制): python3 -m venv .venv . .venv/bin/activate python -m pip install dashvector
通过环境变量提供凭据和端点: DASHVECTOR_API_KEY DASHVECTOR_ENDPOINT (集群端点)
标准化操作 创建集合 名称(str) 维度(int) 度量(str:cosine | dotproduct | euclidean) 字段模式(可选字段类型字典)
Upsert 文档 文档列表:{id, vector, fields} 或元组 支持稀疏向量和多向量集合
查询文档 向量或 id(至少需要一个;如果两个都为空,只应用过滤器) topk(int) 过滤器(类似 SQL 的 where 子句) 输出字段(字段名称列表) 包含向量(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)创建集合 ret = client.create( name="docs", dimension=768, metric="cosine", fields_schema={"title": str, "source": str, "chunk": int}, ) assert ret
# 2)Upsert 文档 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)查询 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_KEY DASHVECTOR_ENDPOINT DASHVECTOR_COLLECTION (可选) DASHVECTOR_DIMENSION (可选)
可选参数: --collection, --dimension, --topk, --filter
对于 Claude Code/Codex 的注意事项 优先使用 upsert 进行幂等插入。 保持维度与嵌入模型输出大小对齐。 使用过滤器强制执行租户或数据集范围。 如果使用稀疏向量,请在 upserting/querying 时传递 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 已生成。
输出和证据 在 output/aliyun-dashvector-search/ 下保存工件、命令输出和 API 响应摘要。 在证据文件中包含关键参数(区域/资源 ID/时间范围)以实现可复现性。
工作流程 确认用户意图、区域、标识符以及操作是否为只读或可变。 首先运行一个最小的只读查询以验证连接和权限。 使用显式参数和有界范围执行目标操作。 验证结果并保存输出/证据文件。
参考 DashVector Python SDK:Client.create, Collection.upsert, Collection.query 源列表:references/sources.md