{"id":19451,"plugin_id":"plugins_6a992fa57b6481918dffd35d23f03408","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:15:34.908Z","digest":"aeb2e144774f585217f710d8202c70c35218d5e1377bdd51132a69694de9d690","against":null,"payload":{"description":"Use when the user wants to search, query, insert, upsert, get, or delete vectors in a Milvus collection.","included_files":[],"name":"vector","skill_md_contents":"---\nname: vector\ndescription: Use when the user wants to search, query, insert, upsert, get, or delete vectors in a Milvus collection.\n---\n\n## Prerequisites\n\n1. CLI installed, a usable data-plane credential configured, and cluster context set (see setup skill).\n2. Target collection must exist and be loaded (see collection skill).\n\n## Commands Reference\n\nAll vector commands accept an optional `--database <db-name>` flag to target a non-default database. If omitted, the database from the current context is used.\n\n### Insert Vectors\n\n```bash\nzilliz vector insert --collection <collection-name> --data '[{\"id\": 1, \"vector\": [0.1, 0.2, ...], \"text\": \"hello\"}]'\n# Optional: --database <database-name>\n# Or use raw JSON: --body '{...}'\n```\n\n### Upsert Vectors\n\n```bash\nzilliz vector upsert --collection <collection-name> --data '[{\"id\": 1, \"vector\": [0.1, 0.2, ...], \"text\": \"hello\"}]'\n# Optional: --partition <partition-name>, --database <database-name>\n# Or use raw JSON: --body '{...}'\n```\n\n### Vector Search\n\n```bash\nzilliz vector search --collection <collection-name> --data '[[0.1, 0.2, 0.3, ...]]'\n# Optional:\n#   --anns-field <vector-field-to-search-on>\n#   --limit <max-results-to-return>\n#   --filter <scalar-filter-expression>\n#   --output-fields '[\"field1\", \"field2\"]'\n#   --database <database-name>\n```\n\n### Hybrid Search\n\n```bash\nzilliz vector hybrid-search \\\n  --collection <collection-name> \\\n  --search '[{\"data\": [[0.1, ...]], \"annsField\": \"dense_vector\", \"limit\": 10}, {\"data\": [[\"search text\"]], \"annsField\": \"sparse_vector\", \"limit\": 10}]' \\\n  --rerank '{\"strategy\": \"rrf\", \"params\": {\"k\": 60}}'\n# Optional:\n#   --limit <max-results-to-return>\n#   --output-fields '[\"field1\", \"field2\"]'\n#   --database <database-name>\n# Or use raw JSON: --body '{...}'\n```\n\n### Query by Filter\n\n```bash\nzilliz vector query --collection <collection-name> --filter <scalar-filter-expression>\n# Optional:\n#   --limit <max-results-to-return>\n#   --output-fields '[\"field1\", \"field2\"]'\n#   --database <database-name>\n```\n\n### Get by ID\n\n```bash\nzilliz vector get --collection <collection-name> --id '[1, 2, 3]'\n# Optional: --output-fields '[\"field1\", \"field2\"]', --database <database-name>\n```\n\n### Delete a Vector\n\n```bash\nzilliz vector delete --collection <collection-name> --filter <filter>\n# Optional: --partition <partition-name>, --database <database-name>\n```\n\nBefore deleting vectors, show the target collection and filter, explain that matching data will be removed, and obtain explicit user confirmation.\n\n## Filter Expression Syntax\n\nCommon filter patterns:\n\n| Expression | Example |\n|---|---|\n| Comparison | `age > 20` |\n| Equality | `status == \"active\"` |\n| IN list | `id in [1, 2, 3]` |\n| AND/OR | `age > 20 and status == \"active\"` |\n| String match | `text like \"hello%\"` |\n| Array contains | `tags array_contains \"ml\"` |\n\n## Guidance\n\n- The `--data` parameter accepts a JSON array of vectors. Each vector is an array of floats.\n- Before searching, inspect the collection schema with `zilliz collection describe` to understand field names and vector dimensions.\n- The collection must be loaded before search/query operations.\n- For search, the `--data` value must match the collection's vector dimension exactly.\n- Use `--anns-field` to specify which vector field to search on when the collection has multiple vector fields.\n- When the user provides a text query and wants semantic search, explain that they need to convert text to vectors first (using an embedding model) before passing to `--data`.\n- For large insert operations, suggest writing data to a JSON file first, then using `zilliz vector insert --collection <name> --data \"$(cat data.json)\"`.\n- Always show `--output-fields` when the user wants specific fields in results.\n- Or use `--body` for complex hybrid search configurations.\n- Before deleting vectors, resolve the exact collection and filter and obtain explicit user confirmation.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}