mcpField
A
aliyun-milvus-search

aliyun-milvus-search

github.com/cinience数据与数据库39658 次安装11 周前更新
代码仓库

关于 aliyun-milvus-search

aliyun-milvus-search 是通过 PyMilvus 连接 AliCloud Milvus 并执行向量搜索的 skill,适用于需要配置查询范围并保留操作记录的工作流。

主要功能

  1. 01通过 PyMilvus 连接
  2. 02执行向量搜索
  3. 03配置数据库和集合
  4. 04支持数量限制与过滤器
  5. 05保存输出和操作记录

适用场景

  1. 01搜索 AliCloud Milvus 集合中的向量
  2. 02按租户或数据集限制检索范围
  3. 03操作前检查连接状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cinience/alicloud-skills --skill aliyun-milvus-search

安装后在 Claude Code 中输入/aliyun-milvus-search确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
sources.md
scripts/
quickstart.py

详细介绍

Category: 提供商

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

此技能使用标准 PyMilvus API 连接阿里云 Milvus 并执行向量搜索。

前提条件

  • 安装 SDK(建议在 venv 中安装,以避免 PEP 668 的限制):
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)

快速入门(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
client.create_collection(
    collection_name="docs",
    dimension=768,
)

# 2) Insert data
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
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)

脚本快速入门

python skills/ai/search/aliyun-milvus-search/scripts/quickstart.py

环境变量:

  • MILVUS_URI
  • MILVUS_TOKEN
  • MILVUS_DB(可选)
  • MILVUS_COLLECTION(可选)
  • MILVUS_DIMENSION(可选)

可选参数:--collection、--dimension、--limit、--filter。

Claude Code/Codex 使用说明

  • 插入操作是异步的;搜索刚插入的数据前,请等待几秒钟。
  • 确保向量的 dimension 与嵌入模型一致。
  • 使用筛选条件来限制租户范围或数据集分区。

错误处理

  • 身份验证错误:检查 MILVUS_TOKEN 和实例权限。
  • 维度不匹配:确保所有向量的维度均与集合维度一致。
  • 网络错误:检查实例上的 VPC/公共访问设置。

验证

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。

输出和证据

  • 将产物、命令输出和 API 响应摘要保存到 output/aliyun-milvus-search/ 下。
  • 在证据文件中包含关键参数(区域/资源 ID/时间范围),以便复现。

工作流

  1. 确认用户意图、区域、标识符,以及操作是只读操作还是会修改数据。
  2. 首先运行一个最小只读查询,以验证连接和权限。
  3. 使用明确参数和有限范围执行目标操作。
  4. 验证结果并保存输出/证据文件。

参考资料

  • PyMilvus 的 MilvusClient 阿里云 Milvus 示例

  • 来源列表:references/sources.md

评论

支持 Markdown