1.1 介绍与安装


文档摘要

1.1 介绍与安装 — Milvus 入门指南 本节导读:通过本节学习,你将了解 Milvus 的核心价值、技术特点,完成本地环境搭建并运行第一个向量检索示例,为后续实战打下坚实基础。 学习目标 理解向量数据库的定义和 Milvus 的核心优势 掌握 Milvus 的三种部署方式和适用场景 完成本地开发环境搭建和第一个程序运行 熟悉基本的连接和操作流程 核心概念 什么是向量数据库? 向量数据库(Vector Database)是专门设计用于存储、管理和检索高维向量数据的高性能数据库系统。随着 AI 和机器学习的快速发展,传统数据库在处理向量相似性搜索时遇到了性能瓶颈,向量数据库应运而生。

1.1 介绍与安装 — Milvus 入门指南

本节导读:通过本节学习,你将了解 Milvus 的核心价值、技术特点,完成本地环境搭建并运行第一个向量检索示例,为后续实战打下坚实基础。

学习目标

  • 理解向量数据库的定义和 Milvus 的核心优势
  • 掌握 Milvus 的三种部署方式和适用场景
  • 完成本地开发环境搭建和第一个程序运行
  • 熟悉基本的连接和操作流程

核心概念

什么是向量数据库?

向量数据库(Vector Database)是专门设计用于存储、管理和检索高维向量数据的高性能数据库系统。随着 AI 和机器学习的快速发展,传统数据库在处理向量相似性搜索时遇到了性能瓶颈,向量数据库应运而生。

Milvus 的核心价值

  • 十亿级处理能力:支持万亿级向量的高效索引和检索
  • 云原生架构:支持 Kubernetes 部署,具备弹性和可扩展性
  • 丰富的索引类型:提供 HNSW、IVF、FLAT 等多种索引算法
  • 多语言支持:提供 Python、Java、Go、C++ 等多种客户端
  • 生态完整:与 LangChain、LlamaIndex 等 AI 框架深度集成

Milvus vs 传统数据库

特性 传统数据库 向量数据库
数据结构 结构化数据 高维向量
查询方式 精确匹配、范围查询 相似性搜索
性能瓶颈 索引大小、连接数 维度灾难
典型场景 事务处理、报表 AI 推荐、语义搜索

环境准备 / 前置知识

系统要求

  • 操作系统:Linux (Ubuntu 18.04+)、macOS (10.14+)、Windows 10/11
  • 内存:至少 4GB RAM,推荐 8GB+
  • 存储:至少 10GB 可用空间
  • 网络:稳定的互联网连接

前置软件

# Python 3.8+ 环境 python3 --version # pip 包管理器 pip3 --version

分步实战

步骤 1:安装 Milvus 依赖包

# 创建虚拟环境 python3 -m venv milvus-env source milvus-env/bin/activate # 安装 Milvus Python 客户端 pip install pymilvus==2.3.7 pip install numpy==1.24.3

步骤 2:启动 Milvus 服务

使用 Docker 快速启动:

docker run -d --name milvus-standalone \\ -p 19530:19530 \\ milvusdb/milvus:v2.3.7

步骤 3:创建第一个示例

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()

常见问题 FAQ

Q1:Milvus 和传统数据库有什么区别?

A:Milvus 专门处理高维向量数据,传统数据库处理结构化数据。主要区别包括数据类型、查询方式、性能特点和应用场景。

Q2:为什么选择 Milvus 而不是其他向量数据库?

A:Milvus 是 CNCF 孵化的项目,社区活跃,性能优秀,提供完整的 Python SDK 和生态系统。

本节小结

通过本节的学习,你已经掌握了向量数据库的核心概念、环境搭建和基础操作流程。本节为后续章节打下了坚实基础。

关键词:Milvus, 向量数据库, 安装指南, 入门教程, 向量检索
难度:入门
预计阅读:25 分钟


发布者: 作者: 转发
评论区 (0)
U