1.1 介绍与安装 — Milvus 入门指南 本节导读:通过本节学习,你将了解 Milvus 的核心价值、技术特点,完成本地环境搭建并运行第一个向量检索示例,为后续实战打下坚实基础。 学习目标 理解向量数据库的定义和 Milvus 的核心优势 掌握 Milvus 的三种部署方式和适用场景 完成本地开发环境搭建和第一个程序运行 熟悉基本的连接和操作流程 核心概念 什么是向量数据库? 向量数据库(Vector Database)是专门设计用于存储、管理和检索高维向量数据的高性能数据库系统。随着 AI 和机器学习的快速发展,传统数据库在处理向量相似性搜索时遇到了性能瓶颈,向量数据库应运而生。
本节导读:通过本节学习,你将了解 Milvus 的核心价值、技术特点,完成本地环境搭建并运行第一个向量检索示例,为后续实战打下坚实基础。
向量数据库(Vector Database)是专门设计用于存储、管理和检索高维向量数据的高性能数据库系统。随着 AI 和机器学习的快速发展,传统数据库在处理向量相似性搜索时遇到了性能瓶颈,向量数据库应运而生。
Milvus 的核心价值:
| 特性 | 传统数据库 | 向量数据库 |
|---|---|---|
| 数据结构 | 结构化数据 | 高维向量 |
| 查询方式 | 精确匹配、范围查询 | 相似性搜索 |
| 性能瓶颈 | 索引大小、连接数 | 维度灾难 |
| 典型场景 | 事务处理、报表 | AI 推荐、语义搜索 |
# Python 3.8+ 环境 python3 --version # pip 包管理器 pip3 --version
# 创建虚拟环境 python3 -m venv milvus-env source milvus-env/bin/activate # 安装 Milvus Python 客户端 pip install pymilvus==2.3.7 pip install numpy==1.24.3
使用 Docker 快速启动:
docker run -d --name milvus-standalone \\ -p 19530:19530 \\ milvusdb/milvus:v2.3.7
from pymilvus import connections, Collection, FieldSchema, CollectionSchema, DataType import numpy as np # 连接 Milvus connections.connect(host="localhost", port="19530") # 定义 Schema schema = CollectionSchema([ FieldSchema("id", DataType.INT64, is_primary=True), FieldSchema("vector", DataType.FLOAT_VECTOR, dim=128), FieldSchema("text", DataType.VARCHAR, max_length=1000) ]) # 创建集合 collection = Collection("example", schema) # 插入数据 vectors = np.random.random((1000, 128)).astype("float32") collection.insert([[list(range(1000)), vectors, [f"doc_{i}" for i in range(1000)]]]) # 创建索引 collection.create_index("vector", {"index_type": "HNSW", "metric_type": "L2"}) # 查询 query_vector = np.random.random(128).astype("float32") results = collection.search([query_vector], "vector", {"metric_type": "L2"}, limit=5) print(f"查询到 {len(results[0])} 个结果") collection.drop()
A:Milvus 专门处理高维向量数据,传统数据库处理结构化数据。主要区别包括数据类型、查询方式、性能特点和应用场景。
A:Milvus 是 CNCF 孵化的项目,社区活跃,性能优秀,提供完整的 Python SDK 和生态系统。
通过本节的学习,你已经掌握了向量数据库的核心概念、环境搭建和基础操作流程。本节为后续章节打下了坚实基础。
关键词:Milvus, 向量数据库, 安装指南, 入门教程, 向量检索
难度:入门
预计阅读:25 分钟