Zilliz Cloud CLI Skill
Your Zilliz Cloud console in the terminal. This skill enables you to operate the zilliz-cli, bringing the full power of Zilliz Cloud — cluster management, collection operations, vector search, RBAC, backups, and more — through natural language.
When to Use
Use this skill when the user wants to:
- - Manage Zilliz Cloud clusters (create, delete, suspend, resume, modify)
- Work with Milvus collections (create, describe, load, release, drop)
- Perform vector operations (search, query, insert, upsert, delete)
- Manage indexes, databases, partitions
- Set up users, roles, and access control (RBAC)
- Create and manage backups or backup policies
- Import bulk data from cloud storage
- Check billing, usage, or invoices
- Monitor cluster and collection status
Capabilities Overview
| Area | What You Can Do |
|---|
| Clusters | Create, delete, suspend, resume, modify |
| Collections |
Create with custom schema, load, release, rename, drop |
|
Vectors | Search, query, insert, upsert, delete |
|
Indexes | Create, list, describe, drop |
|
Databases | Create, list, describe, drop |
|
Users & Roles | RBAC setup, privilege management |
|
Backups | Create, restore, export, policy management |
|
Import | Bulk data import from cloud storage |
|
Partitions | Create, load, release, manage |
|
Monitoring | Cluster status, collection stats |
|
Billing | Usage, invoices, payment methods |
|
Projects | Project and region management |
Requirements
- - Python 3.10+
- A Zilliz Cloud account (or local Milvus instance)
Setup & Authentication
Prerequisites
Before running any zilliz-cli command, verify the following in order:
- 1. CLI installed and up to date? Run
python3 -m pip install --upgrade zilliz-cli to ensure the latest version is installed. - Logged in? Run
zilliz auth status. If not logged in, guide through login (see below). - Context set? (Only for data-plane operations) Run
zilliz context current. If no context, guide through context setup.
Install / Upgrade CLI
CODEBLOCK0
Verify installation:
CODEBLOCK1
Authentication
IMPORTANT: Login commands (zilliz login, zilliz configure) require an interactive terminal and CANNOT run inside the AI agent. Always instruct the user to run these in their own terminal.
Check if already logged in:
CODEBLOCK2
If not logged in, tell the user to open their own terminal and run one of the following:
Option 1: Browser-based login (OAuth) — full feature access
CODEBLOCK3
- - Opens a browser for authentication
- Retrieves user info, organization data, and API keys
- Use
--no-browser in headless environments (displays a URL to visit manually)
Option 2a: API Key via login command
CODEBLOCK4
Option 2b: API Key via configure (legacy)
CODEBLOCK5
- - Prompts for an API key (found in Zilliz Cloud console under API Keys)
- Limitations compared to OAuth login:
- Organization switching not available
- On Serverless clusters: database management, user/role management may be restricted
- Some control-plane operations may require OAuth login
Option 3: Environment variable
User can add to their shell profile (.zshrc / .bashrc):
CODEBLOCK6
After the user completes authentication, verify by running:
CODEBLOCK7
Configure Subcommands
CODEBLOCK8
Switch Organization
These commands require an interactive terminal. Instruct the user to run in their own terminal:
CODEBLOCK9
Logout
CODEBLOCK10
Set Cluster Context
Data-plane commands (collection, vector, index, etc.) require an active cluster context.
CODEBLOCK11
View Current Context
CODEBLOCK12
Output Format
All zilliz-cli commands support --output json for structured, machine-readable output:
CODEBLOCK13
Available formats: json, table, text. Default is text.
Cluster Type Differences
| Feature | Free | Serverless | Dedicated |
|---|
| Collection CRUD | Yes | Yes | Yes |
| Vector search/query |
Yes | Yes | Yes |
| Database create/drop | No | No | Yes |
| User/role management | No | Limited | Yes |
| Backup management | No | Yes | Yes |
| Cluster modify | No | No | Yes |
Quickstart Command
Guide the user through the complete Zilliz Cloud CLI setup:
- 1. Check Python —
python3 --version (need 3.10+) - Install CLI —
python3 -m pip install --upgrade zilliz-cli then INLINECODE16 - Authenticate —
zilliz auth status; if not logged in, instruct user to run zilliz login in their own terminal - List clusters —
zilliz cluster list; if none, offer to create one - Set context — INLINECODE20
- Verify —
zilliz context current and INLINECODE22
Cluster Management
List Clusters
CODEBLOCK14
Describe a Cluster
CODEBLOCK15
Create a Cluster
CODEBLOCK16
To find available project IDs, cloud providers, and regions:
CODEBLOCK17
Delete / Suspend / Resume a Cluster
CODEBLOCK18
Modify a Cluster
CODEBLOCK19
Cluster Guidance
- - Before creating a cluster, help the user choose a region by running
zilliz cluster providers and zilliz cluster regions. - Cluster creation is asynchronous. After
cluster create, poll with zilliz cluster describe until status becomes RUNNING. - Before deleting a cluster, always confirm with the user — this is irreversible.
- After creating a cluster, suggest setting context with
zilliz context set --cluster-id <id>.
Collection Management
All collection commands accept an optional --database <db-name> flag.
List / Describe Collections
CODEBLOCK20
Create a Collection
Quick create with auto schema:
CODEBLOCK21
Advanced create with custom schema:
CODEBLOCK22
Drop / Rename / Check Existence
CODEBLOCK23
Load / Release / Stats
CODEBLOCK24
Collection Aliases
CODEBLOCK25
Collection Guidance
- - Ask about use case to recommend dimension, metric type, and schema.
- Before dropping a collection, confirm with the user — this deletes all data.
- A collection must be loaded before search or query.
- Use
describe to inspect schema before vector operations.
Vector Operations
All vector commands accept an optional --database <db-name> flag. Target collection must exist and be loaded.
Vector Search
CODEBLOCK26
Hybrid Search
CODEBLOCK27
Query (Filter-Based Retrieval)
CODEBLOCK28
Get by ID
CODEBLOCK29
Insert / Upsert Vectors
CODEBLOCK30
For large datasets, read from file:
CODEBLOCK31
Delete Vectors
CODEBLOCK32
Filter Expression Syntax
| Expression | Example |
|---|
| Comparison | INLINECODE32 |
| Equality |
status == "active" |
| IN list |
id in [1, 2, 3] |
| AND/OR |
age > 20 and status == "active" |
| String match |
text like "hello%" |
| Array contains |
tags array_contains "ml" |
Vector Guidance
- - Before searching, inspect schema with
zilliz collection describe for field names and dimensions. - The
--data value must match the collection's vector dimension exactly. - For text-to-vector search, the user needs an embedding model to convert text to vectors first.
- For large insert operations, suggest writing data to a JSON file first.
Index Management
All index commands accept an optional --database <db-name> flag.
Create an Index
CODEBLOCK33
Common index types: AUTOINDEX (recommended), IVF_FLAT, IVF_SQ8, HNSW.
Common metric types: COSINE, L2, IP.
List / Describe / Drop Indexes
CODEBLOCK34
Index Guidance
- - On Zilliz Cloud,
AUTOINDEX is recommended for most use cases. - An index is required before loading a collection for search.
- After creating an index, remind the user to load the collection.
Database Management
Commands
CODEBLOCK35
Database Guidance
- - Database create, describe, and drop are only available on Dedicated clusters.
database list works on all cluster types. - Every cluster has a "default" database.
- Before dropping a database, confirm with the user — all collections in it will be deleted.
- After creating a database, suggest switching context:
zilliz context set --database <db-name>.
Partition Management
Commands
CODEBLOCK36
Partition Guidance
- - Every collection has a default
_default partition. - A partition must be loaded before it can be searched.
- Before dropping a partition, confirm with the user.
User & Role Management (RBAC)
Only available on Dedicated clusters.
Users
CODEBLOCK37
Roles
CODEBLOCK38
Common privileges:
- - Collection:
Search, Query, Insert, Delete, CreateIndex, INLINECODE57 - Global:
CreateCollection, INLINECODE59 - Database: INLINECODE60
RBAC Guidance
- - Built-in roles:
admin (full access), public (no privileges by default). - Suggested workflow: create role → grant privileges → create user → assign role.
- Use
* as object-name to grant privilege on all objects of that type.
Backup Management
No cluster context required — backup operations use --cluster-id directly.
Create a Backup
CODEBLOCK39
List / Describe / Delete Backups
CODEBLOCK40
Export a Backup
CODEBLOCK41
Restore to a New Cluster
CODEBLOCK42
Restore Specific Collections
CODEBLOCK43
Backup Policy
CODEBLOCK44
Backup Guidance
- - Before deleting a backup, confirm with the user — this is irreversible.
- Explain difference: cluster restore = new cluster, collection restore = into existing cluster.
- Suggest backup policies for production clusters.
Data Import
Target collection must exist on the target cluster.
Commands
CODEBLOCK45
Supported file formats: Parquet, JSON, CSV.
Import Guidance
- - Import jobs run asynchronously — use
import status to track progress. - Data files must be accessible from Zilliz Cloud (e.g., S3, GCS with integration configured).
- Collection schema must match the data file structure.
Billing
Requires OAuth login (not API Key mode).
Commands
CODEBLOCK46
Billing Guidance
- - The
bind-card command handles sensitive card data — always instruct the user to run it in their own terminal.
Project & Region Management
Projects
CODEBLOCK47
Volumes
CODEBLOCK48
Monitoring & Status
Status Overview Workflow
When the user asks for status, gather and present:
- 1. INLINECODE67
- INLINECODE68
- INLINECODE69
- INLINECODE70
- For each collection:
zilliz collection get-stats --name <name> --output json and INLINECODE72
Present as:
Cluster: \ (\)
Status: RUNNING | Region: \ | Plan: \
Database: \
Collections:
| Collection | Rows | Load State |
|---|
| my_collection | 10,000 | Loaded |
General Guidance
- - Always check prerequisites (CLI installed, logged in, context set) before executing commands.
- NEVER run
zilliz login, zilliz configure, or zilliz auth switch inside the AI agent — they require interactive input. - NEVER ask the user to paste API keys into the chat — guide them to configure credentials in their own terminal.
- Before any destructive operation (delete cluster, drop collection, drop database, delete backup), always confirm with the user.
- Use
--output json when parsing results programmatically, then format into readable summaries. - When a command fails with permissions error, check the cluster type first.
- When a command fails unexpectedly, consider whether the cluster type or auth mode may be the cause.