aliyun-milvus-search

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
Category: provider
Category: provider

AliCloud Milvus (Serverless) via PyMilvus

通过PyMilvus使用阿里云Milvus(Serverless版)

This skill uses standard PyMilvus APIs to connect to AliCloud Milvus and run vector search.
本技能使用标准PyMilvus API连接阿里云Milvus并执行向量搜索。

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
      )
  • 安装SDK(推荐在虚拟环境中安装以避免PEP 668限制):
bash
python3 -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pymilvus
  • 通过环境变量提供连接信息:
    • MILVUS_URI
      (例如
      http://<host>:19530
    • MILVUS_TOKEN
      (格式为
      <username>:<password>
    • MILVUS_DB
      (默认值:
      default

Quickstart (Python)

快速入门(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"),
)
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

1) 创建集合

client.create_collection( collection_name="docs", dimension=768, )
client.create_collection( collection_name="docs", dimension=768, )

2) Insert data

2) 插入数据

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)
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

3) 搜索

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)
undefined
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)
undefined

Script quickstart

脚本快速入门

bash
python skills/ai/search/aliyun-milvus-search/scripts/quickstart.py
Environment variables:
  • MILVUS_URI
  • MILVUS_TOKEN
  • MILVUS_DB
    (optional)
  • MILVUS_COLLECTION
    (optional)
  • MILVUS_DIMENSION
    (optional)
Optional args:
--collection
,
--dimension
,
--limit
,
--filter
.
bash
python skills/ai/search/aliyun-milvus-search/scripts/quickstart.py
环境变量:
  • MILVUS_URI
  • MILVUS_TOKEN
  • MILVUS_DB
    (可选)
  • MILVUS_COLLECTION
    (可选)
  • MILVUS_DIMENSION
    (可选)
可选参数:
--collection
--dimension
--limit
--filter

Notes for Claude Code/Codex

Claude Code/Codex使用注意事项

  • Insert is async; wait a few seconds before searching newly inserted data.
  • Keep vector
    dimension
    aligned with your embedding model.
  • Use filters to enforce tenant scoping or dataset partitions.
  • 插入操作是异步的:搜索新插入的数据前请等待数秒。
  • 请保证向量
    dimension
    与你的embedding模型匹配。
  • 使用过滤器强制租户范围或数据集分区。

Error handling

错误处理

  • Auth errors: check
    MILVUS_TOKEN
    and instance permissions.
  • Dimension mismatch: ensure all vectors match collection dimension.
  • Network errors: verify VPC/public access settings on the instance.
  • 认证错误:检查
    MILVUS_TOKEN
    和实例权限。
  • 维度不匹配:确保所有向量与集合定义的维度一致。
  • 网络错误:核实实例的VPC/公网访问设置。

Validation

验证

bash
mkdir -p output/aliyun-milvus-search
for f in skills/ai/search/aliyun-milvus-search/scripts/*.py; do
  python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/aliyun-milvus-search/validate.txt
Pass criteria: command exits 0 and
output/aliyun-milvus-search/validate.txt
is generated.
bash
mkdir -p output/aliyun-milvus-search
for f in skills/ai/search/aliyun-milvus-search/scripts/*.py; do
  python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/aliyun-milvus-search/validate.txt
通过标准:命令退出码为0且生成
output/aliyun-milvus-search/validate.txt
文件。

Output And Evidence

输出与凭证

  • Save artifacts, command outputs, and API response summaries under
    output/aliyun-milvus-search/
    .
  • Include key parameters (region/resource id/time range) in evidence files for reproducibility.
  • 将产物、命令输出和API响应摘要保存到
    output/aliyun-milvus-search/
    目录下。
  • 在凭证文件中包含关键参数(地域/资源ID/时间范围)以便复现操作。

Workflow

工作流程

  1. Confirm user intent, region, identifiers, and whether the operation is read-only or mutating.
  2. Run one minimal read-only query first to verify connectivity and permissions.
  3. Execute the target operation with explicit parameters and bounded scope.
  4. Verify results and save output/evidence files.
  1. 确认用户意图、地域、标识符,以及操作是只读类型还是变更类型。
  2. 首先运行一个最小化的只读查询,验证连通性和权限。
  3. 使用明确参数和限定范围执行目标操作。
  4. 验证结果并保存输出/凭证文件。

References

参考资料

  • PyMilvus
    MilvusClient
    examples for AliCloud Milvus
  • Source list:
    references/sources.md
  • 适用于阿里云Milvus的PyMilvus
    MilvusClient
    示例
  • 源列表:
    references/sources.md