[Milvus Vector Database: Mastering Embedding Management for Scalable AI Applications]

Milvus Vector Database: Mastering Embedding Management for Scalable AI Applications

引言

在现代AI应用中,向量嵌入(vector embeddings)已成为一个不可或缺的组成部分。Milvus是一个专门用于存储、索引和管理大规模嵌入向量的数据库,越来越受到开发者的关注。本文旨在介绍如何使用Milvus进行向量存储和检索,以实现高效的AI应用开发。

主要内容

设置和初始化

要使用Milvus的功能,首先需要安装相关Python包:

pip install -qU langchain-milvus langchain-openai langchain-huggingface langchain-core

Milvus提供一个轻量级的Milvus Lite版本,适合原型设计。如果你的数据规模超过百万条文档,建议在Docker或Kubernetes上搭建一个更高性能的Milvus服务器。

嵌入初始化

可以使用OpenAI或HuggingFace的嵌入模型来生成向量:

import os
from langchain_openai import OpenAIEmbeddings
from langchain_huggingface import HuggingFaceEmbeddings
from langchain_core.embeddings import FakeEmbeddings

# 初始化OpenAI嵌入
embeddings_openai = OpenAIEmbeddings
Milvus 是一款开源的向量相似度搜索引擎,广泛用于推荐系统、图像搜索等场景。`milvus-standalone:19530` 指的是 Milvus 单机版服务运行在端口 19530 上的情况。 ### 关于 Milvus Standalone **单机版(Standalone)** 的 Milvus 部署相对简单,适用于开发测试环境或小规模应用。它集成了所有必要的组件,如存储引擎、计算资源管理等,都部署在同一台机器上。 #### 端口号解释 - **19530**: 这是 Milvus 默认的服务监听端口,客户端通过这个端口与 Milvus Server 进行通信,发送查询请求和接收结果。 当你看到 `milvus-standalone:19530`,意味着你可以通过主机名加上此端口号来访问正在运行的 Milvus 实例。例如: ```bash grpc://localhost:19530 ``` ### 启动 Milvus Standalone 假设你已经安装了 Docker 和 Docker Compose,启动 Milvus 单机版非常容易: ```bash docker run -d --name milvus_standalone -p 19530:19530 -p 8081:8081 \ registry.cn-hangzhou.aliyuncs.com/milvusdb/milvus:v2.0-cpu-d061721-5e559c \ /bin/bash -c "ulimit -n 4096 && ./scripts/run_milvus.sh" ``` 这里 `-p 19530:19530` 表示将容器内部的 19530 端口映射到宿主机器相同的端口上;而另一个 `-p 8081:8081` 则是用来提供 Web UI 访问,默认情况下 Web 控制面板也是可用的。 ### 客户端连接 为了从应用程序中连接到 Milvus,你需要指定正确的服务器地址和端口。比如使用 Python SDK PyMilvus 来插入数据点并创建索引时,可能会像这样初始化客户端实例: ```python from pymilvus import connections, FieldSchema, CollectionSchema, DataType, Collection connections.connect("default", host="localhost", port="19530") fields = [ FieldSchema(name="id", dtype=DataType.INT64, is_primary=True), FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128) ] schema = CollectionSchema(fields) collection_name = "example_collection" # 创建集合 Collection(name=collection_name, schema=schema).create_index(field_name="embedding") ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值