alicloud-ai-search-milvus

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
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(建议在虚拟环境venv中安装,以避免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/alicloud-ai-search-milvus/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/alicloud-ai-search-milvus/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
    与你的嵌入模型保持一致。
  • 使用过滤器来实现租户范围限定或数据集分区。

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/公网访问设置。

References

参考资料

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