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):
CODEBLOCK0
- - Provide connection via environment variables:
-
MILVUS_URI (e.g.
http://<host>:19530)
-
MILVUS_TOKEN (
<username>:<password>)
-
MILVUS_DB (default:
default)
Quickstart (Python)
CODEBLOCK1
Script quickstart
CODEBLOCK2
Environment variables:
- - INLINECODE6
- INLINECODE7
- INLINECODE8 (optional)
- INLINECODE9 (optional)
- INLINECODE10 (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
dimension aligned with your embedding model. - Use filters to enforce tenant scoping or dataset partitions.
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.
Validation
CODEBLOCK3
Pass criteria: command exits 0 and output/alicloud-ai-search-milvus/validate.txt is generated.
Output And Evidence
- - Save artifacts, command outputs, and API response summaries under
output/alicloud-ai-search-milvus/. - Include key parameters (region/resource id/time range) in evidence files for reproducibility.
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.
References
- - PyMilvus
MilvusClient examples for AliCloud Milvus
- - Source list: INLINECODE20
技能名称: alicloud-ai-search-milvus
详细描述:
类别: provider
通过 PyMilvus 连接阿里云 Milvus(Serverless)
本技能使用标准 PyMilvus API 连接阿里云 Milvus 并执行向量搜索。
前提条件
- - 安装 SDK(建议在虚拟环境中安装以避免 PEP 668 限制):
bash
python3 -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pymilvus
- MILVUS_URI(例如 http://
:19530)
- MILVUS_TOKEN(:)
- MILVUS_DB(默认值:default)
快速开始(Python)
python
import os
from pymilvus import MilvusClient
client = MilvusClient(
uri=os.getenv(MILVUS_URI),
token=os.getenv(MILVUS_TOKEN),
dbname=os.getenv(MILVUSDB, default),
)
1) 创建集合
client.create_collection(
collection_name=docs,
dimension=768,
)
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)
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)
脚本快速开始
bash
python skills/ai/search/alicloud-ai-search-milvus/scripts/quickstart.py
环境变量:
- - MILVUSURI
- MILVUSTOKEN
- MILVUSDB(可选)
- MILVUSCOLLECTION(可选)
- MILVUS_DIMENSION(可选)
可选参数:--collection、--dimension、--limit、--filter。
Claude Code/Codex 注意事项
- - 插入操作是异步的;搜索新插入的数据前请等待几秒钟。
- 保持向量 dimension 与您的嵌入模型一致。
- 使用过滤器来实施租户隔离或数据集分区。
错误处理
- - 认证错误:检查 MILVUS_TOKEN 和实例权限。
- 维度不匹配:确保所有向量与集合维度匹配。
- 网络错误:检查实例的 VPC/公网访问设置。
验证
bash
mkdir -p output/alicloud-ai-search-milvus
for f in skills/ai/search/alicloud-ai-search-milvus/scripts/*.py; do
python3 -m py_compile $f
done
echo pycompileok > output/alicloud-ai-search-milvus/validate.txt
通过标准:命令退出码为 0 且生成了 output/alicloud-ai-search-milvus/validate.txt 文件。
输出与证据
- - 将工件、命令输出和 API 响应摘要保存在 output/alicloud-ai-search-milvus/ 目录下。
- 在证据文件中包含关键参数(区域/资源 ID/时间范围)以确保可复现性。
工作流程
1) 确认用户意图、区域、标识符以及操作是只读还是变更操作。
2) 首先执行一个最小的只读查询以验证连接和权限。
3) 使用明确的参数和限定的范围执行目标操作。
4) 验证结果并保存输出/证据文件。
参考
- - 适用于阿里云 Milvus 的 PyMilvus MilvusClient 示例
- - 来源列表:references/sources.md