python使用milvus向量库

milvus向量库使用的时候,需要先本地安装,使用windows安装milvus需要使用docker

使用管理员身份打开powershell,执行

复制代码
Invoke-WebRequest https://raw.githubusercontent.com/milvus-io/milvus/refs/heads/master/scripts/standalone_embed.bat -OutFile standalone.bat

生成好文件standalone.bat
继续执行

复制代码
.\standalone.bat start

当看到类似 **Start successfully.**的提示,就表示启动成功了。

输入docker ps,就可以看见milvus-standalone进程

其中python代码里连接方式如下

复制代码
client = MilvusClient(uri="http://localhost:19530",
            token="root:Milvus" )

其中如果报错
(base) PS D:\> .\standalone.bat start

Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:2379 -> 127.0.0.1:0: listen tcp 0.0.0.0:2379: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

Error: failed to start containers: milvus-standalone

Start failed.

重启电脑即可

使用docker 安装miluvus之后,启动就比较快了

日志如下:
启动 2026-04-25 16:44:31

启动结束 2026-04-25 16:44:31

加载模型 2026-04-25 16:44:31

后面加载模型时候一直报错

复制代码
  embed_model = SentenceTransformer("all-MiniLM-L6-v2")

报错内容
'(MaxRetryError("HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /sentence-transformers/all-MiniLM-L6-v2/resolve/main/modules.json (Caused by ConnectTimeoutError(<HTTPSConnection(host='huggingface.co', port=443) at 0x2043accaab0>, 'Connection to huggingface.co timed out. (connect timeout=10)'))"), '(Request ID: c314c2ba-9ac0-4790-905a-96832e0122c9)')' thrown while requesting HEAD https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2/resolve/main/./modules.json

Retrying in 1s Retry 1/5.

这个是因为网络原因,需要使用外网,或者加上

复制代码
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'

表示连接的是国内镜像源

在对向量库进行增删改查的时候,需要先创建集合,类似mysql里的表

复制代码
def create_collection_if_not_exists():
    print("创建collection")
    if client.has_collection(COLLECTION_NAME):
        return

    schema = client.create_schema(auto_id=True)
    schema.add_field(field_name="id",datatype=DataType.INT64, is_primary=True)
    schema.add_field(field_name="module", datatype=DataType.VARCHAR, max_length=1000)
    schema.add_field(field_name="section", datatype=DataType.VARCHAR, max_length=200)
    schema.add_field(field_name="content", datatype=DataType.VARCHAR, max_length=65535)
    schema.add_field(field_name="vector", datatype=DataType.FLOAT_VECTOR, dim=384)

    # 创建索引,必须创建
    index_params = client.prepare_index_params()
    index_params.add_index(
        field_name="vector",
        metric_type="COSINE",
        index_type="IVF_FLAT",
        params={"nlist": 128})

    # 这里是重点
    client.create_collection(
        collection_name=COLLECTION_NAME,
        schema=schema,
        index_params=index_params
    )

    print("集合创建成功")

另外浏览器端访问milvus的方式

docker run -d -p 8082:3000 \

-e MILVUS_URL=host.docker.internal:19530 \

zilliz/attu:latest

使用浏览器访问localhost:8082

相关推荐
yaoxin5211238 小时前
462. Java 反射 - 获取声明类与封闭类
java·开发语言·python
中微极客8 小时前
解锁LLM开发全栈能力:Python + LangChain + RAG 工程实战指南
人工智能·python·langchain
hhzz9 小时前
Barbershop:基于GAN和分割Mask的图像合成技术——从理论到实战全解析
图像处理·人工智能·python·深度学习·计算机视觉
Ulyanov10 小时前
雷达导引头Python仿真框架:GPU加速、6-DOF模型与半实物仿真接口
开发语言·python·雷达信号处理·雷达导引头
列逍11 小时前
博客系统测试
自动化测试·python·性能测试
星云开发11 小时前
拒绝无效加班!用Python打造自动化办公流,附Word/PDF互转硬核代码
python
dream_home840712 小时前
图像算法模型NPU适配与算法服务实战指南
人工智能·python·算法·npu 图像服务
AIGS00112 小时前
跨越语义鸿沟:企业本体语义平台的构建与落地
java·人工智能·python·机器学习·人工智能ai大模型应用
李可以量化12 小时前
PTrade 量化策略实战:二八轮动策略深度解析(下)
python
Mx_coder12 小时前
8年Java开发者AI转型第二周:RAG检索优化-从60%到90%准确率的3个关键技巧 (Day 13-14)
人工智能·python