milvus源码编译

简介: milvus源码编译

编译环境

os:ubuntu22.04.6 live-server,x64
gcc:9.4.0
cmake:3.24.0
go:1.18.10
milvus: v2.3.2
操作系统建议使用ubuntu。在centos7上未编译成功。
在root账户下操作。

安装gcc

因为后面需要安装cmake,因此先安装如下依赖:

apt install g++ gcc make libssl-dev

添加i386架构的支持。这个命令通常在需要安装32位软件包时使用。后面安装依赖需要这个。

dpkg --add-architecture i386
apt-get update

安装cmake

下载路径:

https://codeload.github.com/Kitware/CMake/zip/refs/tags/v3.24.0

下载后进行安装:

unzip CMake-3.24.0.zip
cd CMake-3.24.0/
./configure
make -j4  #-j4代表开启4个并发进行编译
make install

//查看版本
cmake --version
cmake version 3.24.0

安装OpenBLAS

BLAS(Basic Linear Algebra Subprograms 基础线性代数程序集)是一个应用程序接口(API)标准,用以规范发布基础线性代数操作的数值库(如矢量或矩阵乘法),OpenBLAS是BLAS标准的一种具体实现。
OpenBLAS被应用于科学计算、数据分析、深度学习算法、人工智能等领域。

下载milvus源码:

https://github.com/milvus-io/milvus/archive/refs/tags/v2.3.2.zip

源码包拷贝至/mnt目录

cd /mnt
unzip milvus-2.3.2.zip

脚本会使用wget去国外站点下载一些软件包,由于国外访问比较慢,解决这个问题,可以配置代理。
设置环境变量:

export http_proxy="http://192.168.230.10:1080"
export https_proxy="http://192.168.230.10:1080"

这2个环境变量针对wget,curl,cmake,yum均适用。
执行脚本的时候还会去github下载源码,因此还需要配置一下git的代理:

git config --global http.proxy http://192.168.230.10:1080
git config --global https.proxy http://192.168.230.10:1080
git config --list

执行脚本install_deps_embd.sh(OpenBLAS):
由于是用root用户执行,无需sudo,去掉脚本里的sudo。
111.png

. scripts/install_deps_embd.sh

这个阶段执行会比较耗时。

安装其它依赖

执行install_deps.sh脚本,执行之前也去掉sudo。
222.png

. scripts/install_deps.sh

这个脚本执行耗时不长。

源码编译

前面的准备工作都已经完成,现在开始进行源码编译。

make milvus

这个阶段会耗时很长。
执行完成后会产生一个二进制文件:

bin/milvus

产生的库文件位置:

internal/core/output/lib

至此milvus的源码编译完成。

目录
相关文章
|
运维 JavaScript 前端开发
Neo4j 企业版和系统运维企业版特性概览
Neo4j 企业版和系统运维企业版特性概览
2578 0
Neo4j 企业版和系统运维企业版特性概览
|
9月前
|
存储 机器学习/深度学习 人工智能
大模型应用:LangChain核心组件深度解析:llms与embeddings.3
LangChain是构建大语言模型(LLM)应用的开源框架,核心包含LLMs(文本生成/对话)与Embeddings(文本向量化/语义检索)两大组件。其典型RAG架构实现“查询嵌入→向量检索→Prompt构建→LLM生成”闭环,支持文档问答等智能应用。(239字)
1657 8
|
6月前
|
存储 算法 数据挖掘
【数据库】向量数据库:核心原理、主流产品(Milvus、Pinecone)、索引类型(IVF、HNSW)、RAG中的应用
本文系统构建向量数据库完整知识体系:从基础定义、核心原理(ANN检索、存算分离架构)、主流索引(IVF/HNSW深度对比)、主流产品(Milvus/Pinecone等选型指南),到RAG落地实践与前沿趋势,兼顾理论深度与工程实战,助力高效构建企业级语义检索系统。
|
10月前
|
人工智能 NoSQL 前端开发
Chap03. SpringAI
SpringAI整合主流大模型,支持多模态、函数调用与RAG,提供统一API简化开发。通过ChatClient封装对话流程,结合Prompt工程、工具调用和知识库扩展,可快速构建智能客服、聊天机器人等应用,助力Java开发者高效集成AI能力。
1147 0
|
9月前
|
存储 弹性计算 人工智能
2026年阿里云优惠券指南:领取、使用、查询与云服务器省钱技巧
在选购阿里云产品时,优惠券是降低成本的重要工具 —— 无论是个人开发者购买云服务器做项目,还是企业采购核心云资源,合理使用优惠券都能省下不少开支。但很多用户不清楚优惠券的领取渠道、查询方法,也容易在使用时踩 “不能叠加”“过期未用” 的坑。本文结合最新的优惠券体系和实操细节,梳理从领取到使用的全流程,帮大家把优惠用到实处。
|
存储 人工智能 算法
​​向量数据库终极指南:AI开发者的进阶手册​
本文深入解析向量数据库的原理与实战应用,涵盖其在AI系统中的核心作用、关键技术(如HNSW、PQ、LSH)、相似性搜索、元数据过滤及无服务器架构优势。适合开发者和AI从业者学习提升。
3553 1
|
Ubuntu Java Android开发
在Ubuntu 18.04上安装与JDK 8兼容的Eclipse版本的步骤。
安装过程结束后,您就可以开始使用Eclipse来开发您的Java项目了,并且确保它与JDK 8兼容无误。这个过程涉及的是一个基本的安装流程,针对使用Java 8的用户,Eclipse的其他配置和插件安装根据个人开发环境和需求来定制。
695 0
|
存储 自然语言处理 开发工具
milvus向量库的工具类(添加分区、删除分区、删除记录)
【5月更文挑战第13天】milvus向量库的工具类(添加分区、删除分区、删除记录)
1048 6
|
Java 对象存储
【工具类】使用阿里oss实现图片、视频、文档上传
【工具类】使用阿里oss实现图片、视频、文档上传
1406 0
|
算法 数据库 Docker
大模型必备向量数据库-Milvus的安装过程
大模型必备向量数据库-Milvus的安装过程
4364 0

热门文章

最新文章