Milvus 项目教程
milvus 项目地址: https://gitcode.com/gh_mirrors/mil/milvus
1. 项目介绍
Milvus 是一个开源的向量数据库,专为嵌入相似性搜索和 AI 应用而构建。它使得非结构化数据搜索更加便捷,并提供了一致的跨部署环境的用户体验。Milvus 2.0 是一个云原生向量数据库,其设计中存储和计算是分离的,所有组件都是无状态的,以增强弹性和灵活性。
Milvus 的主要特点包括:
- 在万亿向量数据集上的毫秒级搜索
- 简化的非结构化数据管理
- 丰富的 API,适用于数据科学工作流程
- 跨笔记本、本地集群和云的一致用户体验
- 内置的复制和故障转移/恢复功能,确保数据和应用在事件中断时能够保持业务连续性
- 高度可扩展和弹性,组件级可扩展性使得按需扩展和缩减成为可能
2. 项目快速启动
安装 Milvus 单机版
以下是快速启动 Milvus 单机版的步骤:
-
安装依赖:
- Linux 系统(推荐 Ubuntu 20.04 或更高版本):
sudo apt-get update && sudo apt-get install -y \ wget \ curl \ git \ cmake \ build-essential \ libopenblas-dev \ liblapack-dev \ libarpack2-dev \ libsuperlu-dev
- macOS 系统:
brew install cmake wget curl git
- Linux 系统(推荐 Ubuntu 20.04 或更高版本):
-
克隆 Milvus 仓库:
git clone https://github.com/matrixji/milvus.git cd milvus
-
安装第三方依赖:
./scripts/install_deps.sh
-
编译 Milvus:
make
-
启动 Milvus 服务:
./bin/milvus run
使用 Python SDK 进行基本操作
以下是使用 Python SDK 进行基本操作的示例代码:
from pymilvus import MilvusClient
# 连接到 Milvus 服务
client = MilvusClient("localhost", 19530)
# 创建集合
client.create_collection(collection_name="demo_collection", dimension=5)
# 插入数据
data = [[1.0, 2.0, 3.0, 4.0, 5.0]]
client.insert(collection_name="demo_collection", data=data)
# 搜索数据
results = client.search(collection_name="demo_collection", query_records=[[1.0, 2.0, 3.0, 4.0, 5.0]])
print(results)
# 删除数据
client.delete(collection_name="demo_collection", ids=[1])
3. 应用案例和最佳实践
图像搜索
Milvus 可以用于构建高效的图像搜索系统。通过将图像转换为向量并存储在 Milvus 中,可以实现快速的相似图像搜索。
聊天机器人
Milvus 可以用于存储和检索聊天机器人的对话历史,从而实现更智能的对话管理和推荐。
化学结构搜索
在化学领域,Milvus 可以用于快速搜索相似的分子结构,支持子结构搜索和超结构搜索。
4. 典型生态项目
LangChain
LangChain 是一个用于构建 LLM 应用的开源框架,Milvus 可以作为其向量存储后端,提供高效的向量搜索功能。
LlamaIndex
LlamaIndex 是一个数据框架,用于 LLM 应用的数据管理,Milvus 可以与其集成,提供高效的向量搜索和存储功能。
GPTCache
GPTCache 是一个用于创建语义缓存的库,Milvus 可以作为其向量存储后端,提供高效的向量搜索和存储功能。