About aliyun-dashvector-search
A skill for using Alibaba Cloud DashVector to manage vector collections and run similarity searches. It supports filtered queries, sparse vectors, and multi-vector collections through the Python SDK.
Key features
- 01Create collections with schemas
- 02Upsert documents and vectors
- 03Search by vector or document ID
- 04Apply filters and select output fields
- 05Support sparse and multi-vectors
Use cases
- 01Ingest vectors into a collection
- 02Find similar documents with filters
- 03Retrieve selected fields or vectors
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ cinience/ alicloud-skills --skill aliyun-dashvector-searchAfter installing, type/aliyun-dashvector-searchin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlreferences/sources.mdscripts/quickstart.pyDetails
From the project READMECategory: provider
DashVector Vector Search
Use DashVector to manage collections and perform vector similarity search with optional filters and sparse vectors.
Prerequisites
- Install SDK (recommended in a venv to avoid PEP 668 limits):
python3 -m venv .venv
. .venv/bin/activate
python -m pip install dashvector
- Provide credentials and endpoint via environment variables:
DASHVECTOR_API_KEYDASHVECTOR_ENDPOINT(cluster endpoint)
Normalized operations
Create collection
name(str)dimension(int)metric(str:cosine|dotproduct|euclidean)fields_schema(optional dict of field types)
Upsert docs
docslist of{id, vector, fields}or tuples- Supports
sparse_vectorand multi-vector collections
Query docs
vectororid(one required; if both empty, only filter is applied)topk(int)filter(SQL-like where clause)output_fields(list of field names)include_vector(bool)
Quickstart (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)
Script quickstart
python skills/ai/search/aliyun-dashvector-search/scripts/quickstart.py
Environment variables:
DASHVECTOR_API_KEYDASHVECTOR_ENDPOINTDASHVECTOR_COLLECTION(optional)DASHVECTOR_DIMENSION(optional)
Optional args: --collection, --dimension, --topk, --filter.
Notes for Claude Code/Codex
- Prefer
upsertfor idempotent ingestion. - Keep
dimensionaligned to your embedding model output size. - Use filters to enforce tenant or dataset scoping.
- If using sparse vectors, pass
sparse_vector={token_id: weight, ...}when upserting/querying.
Error handling
- 401/403: invalid
DASHVECTOR_API_KEY - 400: invalid collection schema or dimension mismatch
- 429/5xx: retry with exponential backoff
Validation
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
Pass criteria: command exits 0 and output/aliyun-dashvector-search/validate.txt is generated.
Output And Evidence
- Save artifacts, command outputs, and API response summaries under
output/aliyun-dashvector-search/. - Include key parameters (region/resource id/time range) in evidence files for reproducibility.
Workflow
- Confirm user intent, region, identifiers, and whether the operation is read-only or mutating.
- Run one minimal read-only query first to verify connectivity and permissions.
- Execute the target operation with explicit parameters and bounded scope.
- Verify results and save output/evidence files.
References
-
DashVector Python SDK:
Client.create,Collection.upsert,Collection.query -
Source list:
references/sources.md