Category: provider
AliCloud Milvus (Serverless) via PyMilvus
This skill uses standard PyMilvus APIs to connect to AliCloud Milvus and run vector search.
Prerequisites
- •Install SDK (recommended in a venv to avoid PEP 668 limits):
bash
python3 -m venv .venv . .venv/bin/activate python -m pip install --upgrade pymilvus
- •Provide connection via environment variables:
- •
MILVUS_URI(e.g.http://<host>:19530) - •
MILVUS_TOKEN(<username>:<password>) - •
MILVUS_DB(default:default)
- •
Quickstart (Python)
python
import os
from pymilvus import MilvusClient
client = MilvusClient(
uri=os.getenv("MILVUS_URI"),
token=os.getenv("MILVUS_TOKEN"),
db_name=os.getenv("MILVUS_DB", "default"),
)
# 1) Create a collection
client.create_collection(
collection_name="docs",
dimension=768,
)
# 2) Insert data
items = [
{"id": 1, "vector": [0.01] * 768, "source": "kb", "chunk": 0},
{"id": 2, "vector": [0.02] * 768, "source": "kb", "chunk": 1},
]
client.insert(collection_name="docs", data=items)
# 3) Search
query_vectors = [[0.01] * 768]
res = client.search(
collection_name="docs",
data=query_vectors,
limit=5,
filter='source == "kb" and chunk >= 0',
output_fields=["source", "chunk"],
)
print(res)
Script quickstart
bash
python skills/ai/search/alicloud-ai-search-milvus/scripts/quickstart.py
Environment variables:
- •
MILVUS_URI - •
MILVUS_TOKEN - •
MILVUS_DB(optional) - •
MILVUS_COLLECTION(optional) - •
MILVUS_DIMENSION(optional)
Optional args: --collection, --dimension, --limit, --filter.
Notes for Claude Code/Codex
- •Insert is async; wait a few seconds before searching newly inserted data.
- •Keep vector
dimensionaligned with your embedding model. - •Use filters to enforce tenant scoping or dataset partitions.
Error handling
- •Auth errors: check
MILVUS_TOKENand instance permissions. - •Dimension mismatch: ensure all vectors match collection dimension.
- •Network errors: verify VPC/public access settings on the instance.
References
- •
PyMilvus
MilvusClientexamples for AliCloud Milvus - •
Source list:
references/sources.md