Alibaba Cloud Milvus Full-Stack Skill
Prerequisites
[MUST] CLI User-Agent — Every aliyun CLI command invocation must include:
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-milvus-manage
[MUST] PyMilvus User-Agent — Every pymilvus SDK connection must include:
grpc_options={"grpc.primary_user_agent": "AlibabaCloud-Agent-Skills/alibabacloud-milvus-manage"}
Alibaba Cloud CLI version must be >= 3.3.3.
Handle two distinct planes:
- Control-plane: manage Alibaba Cloud managed Milvus instances with
aliyun CLI.
- Data-plane: operate Milvus with
pymilvus Python code.
Treat SKILL.md as the router. Load references/*.md for detailed commands, parameters, and examples.
Scope
Use this skill for:
- Alibaba Cloud managed Milvus instance lifecycle: create, inspect, scale, rename, configure, network, whitelist.
- Milvus Python SDK workflows with
pymilvus: connect, collections, vectors, search, indexes, partitions, databases, RBAC.
- Retrieval use cases built on Milvus: semantic search, hybrid search, full-text search, RAG patterns.
Do not use this skill for:
- self-hosted Milvus deployment on Docker, Helm, Kubernetes, or Milvus Operator,
- Milvus Java / Go / Node SDKs,
- other Alibaba Cloud products such as ECS, RDS, OSS, EMR, Kafka, StarRocks,
- other vector databases such as Zilliz Cloud, Pinecone, Qdrant, or Weaviate.
Route The Request
Control-plane
Route here when the user asks about:
- creating, scaling, renaming, or inspecting a Milvus instance,
- connection address, component spec, configuration, public network, whitelist,
- VPC/VSwitch prerequisites for Alibaba Cloud Milvus,
- Milvus REST-style CLI APIs, creation parameters, or control-plane troubleshooting.
Read:
- first-time flow: references/getting-started.md
- create / list / detail / scale / release: references/instance-lifecycle.md
- config / network / inspection / troubleshooting: references/operations.md
- creation field meanings and templates: references/create-params.md
- raw API field reference: references/api-reference.md
- RAM permissions: references/ram-policies.md
Data-plane
Route here when the user asks about:
- connecting to Milvus with Python,
- creating collections or schemas,
- inserting, upserting, querying, deleting, or searching vectors,
- hybrid search, BM25 full-text search, iterators, indexes,
- partitions, databases, users, roles, or privileges,
- Milvus-based RAG or semantic retrieval patterns.
Read:
- collection schema and lifecycle: references/collection.md
- vector CRUD, search, hybrid search, full-text search: references/vector.md
- index types and metrics: references/index.md
- partitions: references/partition.md
- databases: references/database.md
- RBAC: references/user-role.md
- common solution patterns: references/patterns.md
Shared Guardrails
- Decide the plane first. Do not mix control-plane instance operations with data-plane SDK code.
- Confirm destructive actions before execution.
- Validate untrusted user input before passing it into shell commands or code.
- Prefer loading a targeted reference doc instead of keeping large inline examples in this file.
Control-Plane Rules
Required Environment
- Reuse the configured
aliyun profile. Verify credentials are configured before API calls.
- Every
aliyun CLI invocation must include the required User-Agent flag:
aliyun ... --user-agent AlibabaCloud-Agent-Skills/alibabacloud-milvus-manage
- Milvus OpenAPI calls through
aliyun must include --force.
Preconditions
Before create or major modify operations:
- Confirm
RegionId with the user.
- Verify VPC and VSwitch resources in that region.
- For create, record
ZoneId, VpcId, and VSwitchId.
- If the request is ambiguous, ask whether the user wants dev/test standalone or production HA cluster.
Baseline decision rule:
standalone_pro is the default for dev/test.
- HA cluster is for production.
- In HA mode,
streaming, data, mix_coordinator, and query must use at least 4 CU; proxy must use at least 2 CU.
Detailed templates and field definitions live in references/instance-lifecycle.md and references/create-params.md.
CLI Calling Modes
Use the API's expected parameter mode. Do not improvise.
# get / delete: business params in URL query
aliyun milvus get "/path?RegionId=<region>&instanceId=<id>" --RegionId <region> --force --user-agent AlibabaCloud-Agent-Skills/alibabacloud-milvus-manage
# post / put with request body: business params in --body JSON
aliyun milvus post "/path?RegionId=<region>" --RegionId <region> --body '{...}' --force --user-agent AlibabaCloud-Agent-Skills/alibabacloud-milvus-manage
# post with query-style flags: business params as --Flag value
aliyun milvus post "/path" --RegionId <region> --InstanceId <id> --force --user-agent AlibabaCloud-Agent-Skills/alibabacloud-milvus-manage
Rules:
- Always pass
--RegionId <region>.
- For
CreateInstance and UpdateInstance, use --body.
- For query-style POST APIs such as detail, config, network, ACL, and rename operations, use
--Flag value.
- Do not put user-provided raw text directly into a shell command unless it has been validated.
Runtime Safety
- Do not download and execute remote scripts or unaudited dependencies during control-plane work.
- Do not use
eval or source with untrusted input.
- Set reasonable timeouts on CLI calls. Prefer short timeouts for reads and bounded polling for long-running async operations.
- For list APIs, do not trust
total blindly; inspect the returned array.
- Read the full error message before retrying. Automatic retry is appropriate for throttling, not for arbitrary failures.
Forbidden Operations
- Instance deletion (DeleteInstance) is strictly forbidden through this Skill. If the user requests to delete/release a Milvus instance, do not execute the Milvus delete command through
aliyun CLI. Instead, instruct the user to delete the instance via the Alibaba Cloud Milvus Console.
Destructive Operations
Require explicit confirmation before:
- modifying instance config,
- disabling public network access.
Use this template:
About to execute: <API>, Target: <InstanceId>, Impact: <Description>. Continue?
For config change and network troubleshooting flows, read references/operations.md or references/instance-lifecycle.md first.
Output Style
- Summarize instance lists as a compact table.
- Highlight
instanceId, instanceName, status, dbVersion, ha, paymentType, and connection endpoints when relevant.
- Convert timestamps to readable time.
- Use
--cli-query or jq to trim noisy payloads when useful.
Data-Plane Rules
Connection First
Before writing any pymilvus code, ask for:
- deployment type: Milvus Lite, self-hosted standalone/cluster, or Alibaba Cloud managed instance,
- URI or endpoint,
- authentication method and credentials if needed,
- database name if not using
default.
Do not assume connection parameters. Use Milvus Lite only when the user explicitly wants local embedded mode.
Minimal connection shape:
from pymilvus import MilvusClient
PYMILVUS_GRPC_OPTIONS = {
"grpc.primary_user_agent": "AlibabaCloud-Agent-Skills/alibabacloud-milvus-manage"
}
client = MilvusClient(
uri="<USER_URI>",
token="<USER_TOKEN>",
grpc_options=PYMILVUS_GRPC_OPTIONS,
)
- Every
MilvusClient(...) and connections.connect(...) example must pass grpc_options=PYMILVUS_GRPC_OPTIONS.
- Do not emit
pymilvus SDK connection code without grpc_options=PYMILVUS_GRPC_OPTIONS.
For async usage, schema details, and deployment-specific patterns, load the relevant reference doc.
Data Safety And Correctness
- Never generate fake or placeholder vectors. Always use a real embedding model.
- The query embedding model must match the model used to create stored vectors.
- Vector dimensions must exactly match the collection schema.
- A collection must be loaded before search or query.
- Confirm destructive operations such as
drop_collection, drop_database, or large deletes before executing.
- Prefer
AUTOINDEX unless the user has explicit performance requirements.
Minimal Workflow
For most SDK tasks:
- load references/collection.md for schema and collection operations,
- load references/vector.md for insert/search/query/delete patterns,
- load references/index.md if the user cares about index type, metric, or tuning,
- add partition/database/RBAC references only if the task actually needs them.
Common Patterns
- quick prototype collection: references/collection.md
- vector CRUD and similarity search: references/vector.md
- hybrid search or full-text search: references/vector.md
- RAG / semantic retrieval patterns: references/patterns.md
- index tuning: references/index.md
Suggested Response Flow
If control-plane
- Confirm region and target instance scope.
- Read the matching control-plane reference.
- Run the command with the correct parameter mode.
- Report the key fields, next state, and any follow-up wait conditions.
If data-plane
- Ask for connection details first.
- Read only the references needed for the requested SDK task.
- Write or explain
pymilvus code with real embeddings, real connection placeholders, and grpc_options=PYMILVUS_GRPC_OPTIONS.
- Call out schema, load-state, index, and dimension pitfalls if they matter.
Reference Map
- references/getting-started.md: first Milvus instance from scratch
- references/instance-lifecycle.md: create, inspect, scale, rename, release
- references/operations.md: config, network, ACL, inspection, troubleshooting
- references/create-params.md: create body fields and component templates
- references/api-reference.md: raw API signatures and return fields
- references/collection.md: schema and collection lifecycle
- references/vector.md: insert, search, hybrid search, BM25, iterators
- references/index.md: index types and metric guidance
- references/partition.md: partition operations
- references/database.md: database operations
- references/user-role.md: users, roles, privileges
- references/patterns.md: RAG and semantic search patterns
- references/ram-policies.md: IAM/RAM policies
1---2name: alibabacloud-milvus-manage3description: Alibaba Cloud Milvus full-stack Skill for two planes: control-plane instance management via aliyun CLI, and data-plane Milvus operations via pymilvus. Use when users want to create, inspect, scale, configure, network-enable, or whitelist Alibaba Cloud Milvus instances; or connect to Milvus and perform collection management, vector insert/search, hybrid search, full-text search, index management, partition/database management, or RBAC with Python.4license: MIT AND Apache-2.05---6
7# Alibaba Cloud Milvus Full-Stack Skill
8
9## Prerequisites
10
11**[MUST] CLI User-Agent** — Every `aliyun` CLI command invocation must include:
12`--user-agent AlibabaCloud-Agent-Skills/alibabacloud-milvus-manage`
13
14**[MUST] PyMilvus User-Agent** — Every `pymilvus` SDK connection must include:
15`grpc_options={"grpc.primary_user_agent": "AlibabaCloud-Agent-Skills/alibabacloud-milvus-manage"}`
16
17Alibaba Cloud CLI version must be `>= 3.3.3`.
18
19Handle two distinct planes:
20
21- **Control-plane**: manage Alibaba Cloud managed Milvus instances with `aliyun` CLI.
22- **Data-plane**: operate Milvus with `pymilvus` Python code.
23
24Treat `SKILL.md` as the router. Load `references/*.md` for detailed commands, parameters, and examples.
25
26## Scope
27
28Use this skill for:
29
30- Alibaba Cloud managed Milvus instance lifecycle: create, inspect, scale, rename, configure, network, whitelist.
31- Milvus Python SDK workflows with `pymilvus`: connect, collections, vectors, search, indexes, partitions, databases, RBAC.
32- Retrieval use cases built on Milvus: semantic search, hybrid search, full-text search, RAG patterns.
33
34Do not use this skill for:
35
36- self-hosted Milvus deployment on Docker, Helm, Kubernetes, or Milvus Operator,
37- Milvus Java / Go / Node SDKs,
38- other Alibaba Cloud products such as ECS, RDS, OSS, EMR, Kafka, StarRocks,
39- other vector databases such as Zilliz Cloud, Pinecone, Qdrant, or Weaviate.
40
41## Route The Request
42
43### Control-plane
44
45Route here when the user asks about:
46
47- creating, scaling, renaming, or inspecting a Milvus instance,
48- connection address, component spec, configuration, public network, whitelist,
49- VPC/VSwitch prerequisites for Alibaba Cloud Milvus,
50- Milvus REST-style CLI APIs, creation parameters, or control-plane troubleshooting.
51
52Read:
53
54- first-time flow: [references/getting-started.md](references/getting-started.md)
55- create / list / detail / scale / release: [references/instance-lifecycle.md](references/instance-lifecycle.md)
56- config / network / inspection / troubleshooting: [references/operations.md](references/operations.md)
57- creation field meanings and templates: [references/create-params.md](references/create-params.md)
58- raw API field reference: [references/api-reference.md](references/api-reference.md)
59- RAM permissions: [references/ram-policies.md](references/ram-policies.md)
60
61### Data-plane
62
63Route here when the user asks about:
64
65- connecting to Milvus with Python,
66- creating collections or schemas,
67- inserting, upserting, querying, deleting, or searching vectors,
68- hybrid search, BM25 full-text search, iterators, indexes,
69- partitions, databases, users, roles, or privileges,
70- Milvus-based RAG or semantic retrieval patterns.
71
72Read:
73
74- collection schema and lifecycle: [references/collection.md](references/collection.md)
75- vector CRUD, search, hybrid search, full-text search: [references/vector.md](references/vector.md)
76- index types and metrics: [references/index.md](references/index.md)
77- partitions: [references/partition.md](references/partition.md)
78- databases: [references/database.md](references/database.md)
79- RBAC: [references/user-role.md](references/user-role.md)
80- common solution patterns: [references/patterns.md](references/patterns.md)
81
82## Shared Guardrails
83
84- Decide the plane first. Do not mix control-plane instance operations with data-plane SDK code.
85- Confirm destructive actions before execution.
86- Validate untrusted user input before passing it into shell commands or code.
87- Prefer loading a targeted reference doc instead of keeping large inline examples in this file.
88
89## Control-Plane Rules
90
91### Required Environment
92
93- Reuse the configured `aliyun` profile. Verify credentials are configured before API calls.
94- Every `aliyun` CLI invocation must include the required User-Agent flag:
95
96```bash
97aliyun ... --user-agent AlibabaCloud-Agent-Skills/alibabacloud-milvus-manage
98```
99
100- Milvus OpenAPI calls through `aliyun` must include `--force`.
101
102### Preconditions
103
104Before create or major modify operations:
105
1061. Confirm `RegionId` with the user.
1072. Verify VPC and VSwitch resources in that region.
1083. For create, record `ZoneId`, `VpcId`, and `VSwitchId`.
1094. If the request is ambiguous, ask whether the user wants dev/test standalone or production HA cluster.
110
111Baseline decision rule:
112
113- `standalone_pro` is the default for dev/test.
114- HA cluster is for production.
115- In HA mode, `streaming`, `data`, `mix_coordinator`, and `query` must use at least 4 CU; `proxy` must use at least 2 CU.
116
117Detailed templates and field definitions live in [references/instance-lifecycle.md](references/instance-lifecycle.md) and [references/create-params.md](references/create-params.md).
118
119### CLI Calling Modes
120
121Use the API's expected parameter mode. Do not improvise.
122
123```bash
124# get / delete: business params in URL query
125aliyun milvus get "/path?RegionId=<region>&instanceId=<id>" --RegionId <region> --force --user-agent AlibabaCloud-Agent-Skills/alibabacloud-milvus-manage
126
127# post / put with request body: business params in --body JSON
128aliyun milvus post "/path?RegionId=<region>" --RegionId <region> --body '{...}' --force --user-agent AlibabaCloud-Agent-Skills/alibabacloud-milvus-manage
129
130# post with query-style flags: business params as --Flag value
131aliyun milvus post "/path" --RegionId <region> --InstanceId <id> --force --user-agent AlibabaCloud-Agent-Skills/alibabacloud-milvus-manage
132```
133
134Rules:
135
136- Always pass `--RegionId <region>`.
137- For `CreateInstance` and `UpdateInstance`, use `--body`.
138- For query-style POST APIs such as detail, config, network, ACL, and rename operations, use `--Flag value`.
139- Do not put user-provided raw text directly into a shell command unless it has been validated.
140
141### Runtime Safety
142
143- Do not download and execute remote scripts or unaudited dependencies during control-plane work.
144- Do not use `eval` or `source` with untrusted input.
145- Set reasonable timeouts on CLI calls. Prefer short timeouts for reads and bounded polling for long-running async operations.
146- For list APIs, do not trust `total` blindly; inspect the returned array.
147- Read the full error message before retrying. Automatic retry is appropriate for throttling, not for arbitrary failures.
148
149### Forbidden Operations
150
151- **Instance deletion (DeleteInstance) is strictly forbidden through this Skill.** If the user requests to delete/release a Milvus instance, do **not** execute the Milvus delete command through `aliyun` CLI. Instead, instruct the user to delete the instance via the [Alibaba Cloud Milvus Console](https://milvus.console.aliyun.com/#/overview).
152
153### Destructive Operations
154
155Require explicit confirmation before:
156
157- modifying instance config,
158- disabling public network access.
159
160Use this template:
161
162> About to execute: `<API>`, Target: `<InstanceId>`, Impact: `<Description>`. Continue?
163
164For config change and network troubleshooting flows, read [references/operations.md](references/operations.md) or [references/instance-lifecycle.md](references/instance-lifecycle.md) first.
165
166### Output Style
167
168- Summarize instance lists as a compact table.
169- Highlight `instanceId`, `instanceName`, `status`, `dbVersion`, `ha`, `paymentType`, and connection endpoints when relevant.
170- Convert timestamps to readable time.
171- Use `--cli-query` or `jq` to trim noisy payloads when useful.
172
173## Data-Plane Rules
174
175### Connection First
176
177Before writing any `pymilvus` code, ask for:
178
1791. deployment type: Milvus Lite, self-hosted standalone/cluster, or Alibaba Cloud managed instance,
1802. URI or endpoint,
1813. authentication method and credentials if needed,
1824. database name if not using `default`.
183
184Do not assume connection parameters. Use Milvus Lite only when the user explicitly wants local embedded mode.
185
186Minimal connection shape:
187
188```python
189from pymilvus import MilvusClient
190
191PYMILVUS_GRPC_OPTIONS = {
192 "grpc.primary_user_agent": "AlibabaCloud-Agent-Skills/alibabacloud-milvus-manage"
193}
194
195client = MilvusClient(
196 uri="<USER_URI>",
197 token="<USER_TOKEN>",
198 grpc_options=PYMILVUS_GRPC_OPTIONS,
199)
200```
201
202- Every `MilvusClient(...)` and `connections.connect(...)` example must pass `grpc_options=PYMILVUS_GRPC_OPTIONS`.
203- Do not emit `pymilvus` SDK connection code without `grpc_options=PYMILVUS_GRPC_OPTIONS`.
204
205For async usage, schema details, and deployment-specific patterns, load the relevant reference doc.
206
207### Data Safety And Correctness
208
209- Never generate fake or placeholder vectors. Always use a real embedding model.
210- The query embedding model must match the model used to create stored vectors.
211- Vector dimensions must exactly match the collection schema.
212- A collection must be loaded before search or query.
213- Confirm destructive operations such as `drop_collection`, `drop_database`, or large deletes before executing.
214- Prefer `AUTOINDEX` unless the user has explicit performance requirements.
215
216### Minimal Workflow
217
218For most SDK tasks:
219
2201. load [references/collection.md](references/collection.md) for schema and collection operations,
2212. load [references/vector.md](references/vector.md) for insert/search/query/delete patterns,
2223. load [references/index.md](references/index.md) if the user cares about index type, metric, or tuning,
2234. add partition/database/RBAC references only if the task actually needs them.
224
225### Common Patterns
226
227- quick prototype collection: [references/collection.md](references/collection.md)
228- vector CRUD and similarity search: [references/vector.md](references/vector.md)
229- hybrid search or full-text search: [references/vector.md](references/vector.md)
230- RAG / semantic retrieval patterns: [references/patterns.md](references/patterns.md)
231- index tuning: [references/index.md](references/index.md)
232
233## Suggested Response Flow
234
235### If control-plane
236
2371. Confirm region and target instance scope.
2382. Read the matching control-plane reference.
2393. Run the command with the correct parameter mode.
2404. Report the key fields, next state, and any follow-up wait conditions.
241
242### If data-plane
243
2441. Ask for connection details first.
2452. Read only the references needed for the requested SDK task.
2463. Write or explain `pymilvus` code with real embeddings, real connection placeholders, and `grpc_options=PYMILVUS_GRPC_OPTIONS`.
2474. Call out schema, load-state, index, and dimension pitfalls if they matter.
248
249## Reference Map
250
251- [references/getting-started.md](references/getting-started.md): first Milvus instance from scratch
252- [references/instance-lifecycle.md](references/instance-lifecycle.md): create, inspect, scale, rename, release
253- [references/operations.md](references/operations.md): config, network, ACL, inspection, troubleshooting
254- [references/create-params.md](references/create-params.md): create body fields and component templates
255- [references/api-reference.md](references/api-reference.md): raw API signatures and return fields
256- [references/collection.md](references/collection.md): schema and collection lifecycle
257- [references/vector.md](references/vector.md): insert, search, hybrid search, BM25, iterators
258- [references/index.md](references/index.md): index types and metric guidance
259- [references/partition.md](references/partition.md): partition operations
260- [references/database.md](references/database.md): database operations
261- [references/user-role.md](references/user-role.md): users, roles, privileges
262- [references/patterns.md](references/patterns.md): RAG and semantic search patterns
263- [references/ram-policies.md](references/ram-policies.md): IAM/RAM policies