自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

最火向量數(shù)據(jù)庫Milvus安裝使用一條龍!

數(shù)據(jù)庫 其他數(shù)據(jù)庫
Milvus 設(shè)計(jì)之初就是為 AI 而生的一個(gè)高效的向量數(shù)據(jù)庫系統(tǒng),在大多數(shù)情況下,Milvus 的性能是其他向量數(shù)據(jù)庫的 2-5 倍,它能實(shí)現(xiàn)萬億級(jí)向量的毫秒級(jí)相似性搜索,而且 Milvus 還是開源的向量數(shù)據(jù)庫。

向量數(shù)據(jù)庫是大模型應(yīng)用開發(fā)必備組件之一,因?yàn)樗R(shí)庫、語義搜索、檢索增強(qiáng)生成(RAG)等人工智能應(yīng)用中發(fā)揮著舉足輕重的作用。但向量數(shù)據(jù)有很多,為什么要使用 Milvus 呢?

常見向量數(shù)據(jù)

常見的向量數(shù)據(jù)庫有以下這些:

  • Chroma
  • Elasticsearch
  • Milvus
  • Neo4j
  • OpenSearch
  • Redis
  • PGVector

然而目前市面上使用最多的向量數(shù)據(jù)庫還是 Milvus,為什么呢?

這點(diǎn)從企業(yè)的招聘要求中也能發(fā)現(xiàn):

為什么是 Milvus?

Milvus 設(shè)計(jì)之初就是為 AI  而生的一個(gè)高效的向量數(shù)據(jù)庫系統(tǒng),在大多數(shù)情況下,Milvus 的性能是其他向量數(shù)據(jù)庫的 2-5 倍,它能實(shí)現(xiàn)萬億級(jí)向量的毫秒級(jí)相似性搜索,而且 Milvus 還是開源的向量數(shù)據(jù)庫。

PS:也就說 Milvus 既開源(可以免費(fèi)使用+支持二次開發(fā))又具備高性能,這樣的數(shù)據(jù)庫誰不愛呢?

為什么 Milvus 這么快?

Milvus 運(yùn)行比較快的原因有以下幾個(gè):

  • 硬件感知優(yōu)化:為了讓 Milvus 適應(yīng)各種硬件環(huán)境,我們專門針對(duì)多種硬件架構(gòu)和平臺(tái)優(yōu)化了其性能,包括 AVX512、SIMD、GPU 和 NVMe SSD。
  • 高級(jí)搜索算法:Milvus 支持多種內(nèi)存和磁盤索引/搜索算法,包括 IVF、HNSW、DiskANN 等,所有這些算法都經(jīng)過了深度優(yōu)化。與 FAISS 和 HNSWLib 等流行實(shí)現(xiàn)相比,Milvus 的性能提高了 30%-70%。
  • C++ 搜索引擎:向量數(shù)據(jù)庫性能的 80% 以上取決于其搜索引擎。由于 C++ 語言的高性能、底層優(yōu)化和高效資源管理,Milvus 將 C++ 用于這一關(guān)鍵組件。最重要的是,Milvus 集成了大量硬件感知代碼優(yōu)化,從匯編級(jí)向量到多線程并行化和調(diào)度,以充分利用硬件能力。
  • 面向列:Milvus 是面向列的向量數(shù)據(jù)庫系統(tǒng)。其主要優(yōu)勢(shì)來自數(shù)據(jù)訪問模式。在執(zhí)行查詢時(shí),面向列的數(shù)據(jù)庫只讀取查詢中涉及的特定字段,而不是整行,這大大減少了訪問的數(shù)據(jù)量。此外,對(duì)基于列的數(shù)據(jù)的操作可以很容易地進(jìn)行向量化,從而可以一次性在整個(gè)列中應(yīng)用操作,進(jìn)一步提高性能。

Milvus 支持的搜索類型

Milvus 支持各種類型的搜索功能,以滿足不同用例的需求:

  • ANN 搜索:查找最接近查詢向量的前 K 個(gè)向量。
  • 過濾搜索:在指定的過濾條件下執(zhí)行 ANN 搜索。
  • 范圍搜索:查找查詢向量指定半徑范圍內(nèi)的向量。
  • 混合搜索:基于多個(gè)向量場進(jìn)行 ANN 搜索。
  • 全文搜索:基于 BM25 的全文搜索。
  • Rerankers:根據(jù)附加標(biāo)準(zhǔn)或輔助算法調(diào)整搜索結(jié)果順序,完善初始 ANN 搜索結(jié)果。
  • 根據(jù)主鍵檢索數(shù)據(jù)。
  • 查詢使用特定表達(dá)式檢索數(shù)據(jù)。

Milvus 安裝

Milvus 有三種部署方式:

  • Milvus Lite:Milvus Lite 是一個(gè) Python 庫,可導(dǎo)入到您的應(yīng)用程序中。作為 Milvus 的輕量級(jí)版本,它非常適合在 Jupyter 筆記本或資源有限的智能設(shè)備上運(yùn)行快速原型。Milvus Lite 支持與 Milvus 其他部署相同的 API。與 Milvus Lite 交互的客戶端代碼也能與其他部署模式下的 Milvus 實(shí)例協(xié)同工作。
  • Milvus Standalone:Milvus Standalone 是單機(jī)服務(wù)器部署。Milvus Standalone 的所有組件都打包到一個(gè) Docker 鏡像中,部署起來非常方便。
  • Milvus Distributed:Milvus Distributed 可部署在 Kubernetes 集群上。這種部署采用云原生架構(gòu),攝取負(fù)載和搜索查詢分別由獨(dú)立節(jié)點(diǎn)處理,允許關(guān)鍵組件冗余。它具有最高的可擴(kuò)展性和可用性,并能靈活定制每個(gè)組件中分配的資源。Milvus Distributed 是在生產(chǎn)中運(yùn)行大規(guī)模向量搜索系統(tǒng)的企業(yè)用戶的首選。

PS:當(dāng)然中小型公司生產(chǎn)環(huán)境也可以直接購買 XXX 云的 Milvus 實(shí)例直接使用。

我們這里使用 Milvus Standalone 單機(jī)版部署方式。

硬件要求

前提條件

  • 安裝 Docker Desktop:點(diǎn)擊下載軟件安裝 https://www.docker.com/get-started/

  • 安裝之后,需要重啟電腦,并且電腦會(huì)進(jìn)行 Linux 子系統(tǒng)更新才能正常啟動(dòng),此過程可能會(huì)比較慢。
  • 安裝 Windows Subsystem for Linux 2 (WSL 2):通常不需要單獨(dú)安裝,安裝 Docker Desktop 時(shí)會(huì)自動(dòng)安裝。

正式安裝

1.打開 PowerShell。

2.下載安裝腳本,命令如下:

Invoke-WebRequest https://raw.githubusercontent.com/milvus-io/milvus/refs/heads/master/scripts/standalone_embed.bat -OutFile standalone.bat

3.運(yùn)行下載的腳本

standalone.bat start

最終執(zhí)行效果如下:

運(yùn)行安裝腳本后,包含以下內(nèi)容:

  • 名為 Milvus-standalone 的 docker 容器已在19530 端口啟動(dòng)。
  • 嵌入式 etcd 與 Milvus 安裝在同一個(gè)容器中,服務(wù)端口為 2379。其配置文件被映射到當(dāng)前文件夾中的 embedEtcd.yaml。
  • Milvus 數(shù)據(jù)卷映射到當(dāng)前文件夾中的 volumes/milvus。

在 Docker Desktop 也可以看到安裝的 Milvus 相關(guān)組件:

參考官方文檔:https://milvus.io/docs/zh/install_standalone-windows.md

安裝 UI 客戶端

Milvus 服務(wù)安裝成功之后,可以按照一個(gè) UI 客戶端連接 Milvus 服務(wù),使用官方提供的客戶端 attu:https://github.com/zilliztech/attu

具體安裝步驟如下:

1.訪問下載安裝包(attu-Setup-2.4.12.exe)地址:https://github.com/zilliztech/attu/releases/tag/v2.4.12

2.解壓并安裝 attu。

安裝成功之后連接本地 Milvus 服務(wù),如下圖所示:

小結(jié)

Milvus 作為開源高性能向量數(shù)據(jù)庫的代表,它的安裝也不難,如果順利的情況下,可能 5 分鐘左右就搞定了。安裝完成之后就用它加上 Spring AI 或 LangChain4j 來實(shí)現(xiàn)一下 RAG 功能吧。

責(zé)任編輯:姜華 來源: 磊哥和Java
相關(guān)推薦

2013-09-13 09:58:49

2012-11-08 14:28:16

2013-12-27 09:00:27

編程語言

2011-05-24 16:04:34

打印機(jī)技巧

2020-04-20 17:16:58

Python數(shù)據(jù)處理

2023-01-05 08:00:00

2011-06-17 15:16:46

打印機(jī)技巧

2021-12-28 10:51:32

自動(dòng)駕駛技術(shù)安全

2024-04-25 16:33:41

2020-06-10 16:32:43

百度谷歌老照片修復(fù)

2022-12-31 18:22:23

2020-07-16 13:00:18

人工智能機(jī)器學(xué)習(xí)技術(shù)

2020-07-20 09:49:56

開源技術(shù) 趨勢(shì)

2022-03-14 09:00:00

數(shù)據(jù)庫Milvus集群

2021-08-27 10:04:53

機(jī)器人

2024-12-13 08:32:28

向量數(shù)據(jù)庫云原生LangChain

2023-11-27 00:58:00

數(shù)據(jù)庫AI

2011-03-21 17:19:12

LAMPUbuntu

2022-10-25 14:01:46

AI游戲
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)