您所在的位置:下載吧  >  軟件下載  >  其他軟件  >  程序源碼 > Milvus(矢量數據庫)

Milvus(矢量數據庫) v1.1.0 官方版

  • 軟件大小:6.0 MB
  • 軟件語言:英文
  • 更新時間:2021-05-13
  • 授   權:免費軟件
  • 適用平臺:WinAll
  • 推薦度: 6
無病毒官方版綠色版
點擊查看大圖
軟件介紹

  Milvus是一個綠色安全、免費開源的矢量數據庫,支持針對TB級向量的增刪改操作和近實時查詢,可讓用戶對數據庫內的所有數據進行搜索和瀏覽編輯,該軟件擁有類似于智能的向量搜索引擎,可讓用戶對相似性數據進行搜索,可讓用戶更快更便捷的獲取非結構化數據;Milvus部署靈活、穩定可靠,且具備操作便捷以及高速查詢等特性,在全球范圍內已被數百家組織和機構所使用,該軟件支持標量數據過濾,可讓用戶更快速精準地獲取指定數據,非常簡單實用,有需要的用戶可以自行下載。

Milvus(矢量數據庫)

軟件功能

  異構計算

  優化了基于 GPU 搜索向量和建立索引的性能。

  可以在單臺通用服務器上完成對 TB 級數據的毫秒級搜索。

  動態數據管理。

  支持主流索引庫、距離計算方式和監控工具

  集成了 Faiss、NMSLIB、Annoy 等向量索引庫。

  支持基于量化的索引、基于圖的索引和基于樹的索引。

  相似度計算方式包括歐氏距離 (L2)、內積 (IP)、漢明距離、杰卡德距離等。

  Prometheus 作為監控和性能指標存儲方案,Grafana 作為可視化組件進行數據展示。

  近實時搜索

  插入 Milvus 的數據默認在 1 秒后即可被搜索到。

  標量字段過濾

  支持向量和標量數據。

  可以對標量數據進行過濾,增強搜索的靈活性。

軟件特色

  全面的相似度指標

  Milvus 支持各種常用的相似度計算指標,包括歐氏距離、內積、漢明距離和杰卡德距離等。您可以根據應用需求來選擇最有效的向量相似度計算方式。

  業界領先的性能

  Milvus 基于高度優化的 Approximate Nearest Neighbor Search (ANNS) 索引庫構建,包括 faiss、 annoy、和 hnswlib 等。您可以針對不同使用場景選擇不同的索引類型。

  動態數據管理

  您可以隨時對數據進行插入、刪除、搜索、更新等操作而無需受到靜態數據帶來的困擾。

  近實時搜索

  在插入或更新數據之后,您可以幾乎立刻對插入或更新過的數據進行搜索。Milvus 負責保證搜索結果的準確率和數據一致性。

  高成本效益

  Milvus 充分利用現代處理器的并行計算能力,可以在單臺通用服務器上完成對十億級數據的毫秒級搜索。

  支持多種數據類型和高級搜索

  Milvus 的數據記錄中的字段支持多種數據類型。您還可以對一個或多個字段使用高級搜索,例如過濾、排序和聚合。

  高擴展性和可靠性

  您可以在分布式環境中部署 Milvus。如果要對集群擴容或者增加可靠性,您只需增加節點。

  云原生

  您可以輕松在公有云、私有云、或混合云上運行 Milvus。

  簡單易用

  Milvus 提供了易用的 Python、Java、Go 和 C++ SDK,另外還提供了 RESTful API。

官方教程

  確認Docker狀態確認Docker守護程序在后臺運行:

  $ sudo docker info

  Copy

  如果看不到列出的服務器,請啟動Docker守護程序。

  在Linux上,Docker需要sudo特權。要在沒有sudo特權的情況下運行Docker命令,請創建一個docker組并添加您的用戶(有關詳細信息,請參閱Linux的安裝后步驟)。

  拉Docker鏡像拉出僅CPU的映像:

  $ sudo docker pull milvusdb/milvus:1.1.0-cpu-d050721-5e559c

  如果由于網絡限制而無法使用主機在線獲取Docker映像和配置文件,請從另一臺可用主機在線獲取它們,將它們另存為TAR文件,將其傳遞到本地計算機上,然后將TAR文件加載為Docker映像:

  單擊此處查看示例代碼。

  如果拉docker鏡像的速度太慢或失敗,請參閱操作常見問題解答以獲取解決方案。

  下載配置文件

Milvus(矢量數據庫)

  如果無法通過wget命令下載配置文件,則可以在/ home / $ USER / milvus / conf下創建server_config.yaml文件,然后將內容從服務器配置復制到該文件。

  啟動Docker容器啟動Docker容器并將映射到本地文件的路徑映射到該容器:

Milvus(矢量數據庫)

  docker run上面命令中使用的選項定義如下:

  -d:在后臺運行容器并打印容器ID。

  --name:為容器分配一個名稱。

  -p:將容器的端口發布到主機。

  -v:將目錄安裝到容器中。

  確認Milvus的運行狀態:

  $ sudo docker ps

  如果Milvus服務器無法正常啟動,請檢查錯誤日志:

  $ sudo docker logs milvus_cpu_1.1.0成功啟動Milvus服務器后,可以使用此示例程序創建表,插入10個向量,然后運行向量相似度搜索。確保已安裝Python 3.6和兼容的pip。安裝Milvus Python SDK。# Install Milvus Python SDK

  $ pip3 install pymilvus==1.1.0

  Copy要了解有關Milvus Python SDK的更多信息,請訪問Milvus Python SDK自述文件。下載Python示例代碼。# Download Python example

  $ wget https://raw.githubusercontent.com/milvus-io/pymilvus/v1.1.0/examples/example.py

  Copy如果您不能wget用來下載示例代碼,則還可以創建example.py并復制示例代碼。運行示例代碼。# Run Milvus Python example

  $ python3 example.py

  Copy確認程序運行正常。Query result is correct.

  Copy恭喜你!您已成功完成與Milvus的首次矢量相似度搜索。連接到服務器本文介紹如何從Python客戶端連接到Milvus服務器。有關API的詳細信息,請參見Python API文檔。我們建議使用Milvus大小調整工具來估計數據所需的硬件資源。導入pymilvus:# Import pymilvus.

  >>> from milvus import Milvus, IndexType, MetricType, Status

  Copy使用以下任何一種方法連接到Milvus服務器:# Connect to the Milvus server.

  >>> milvus = Milvus(host='localhost', port='19530')

  Copy在上面的代碼,host并且port都使用的默認值。您可以將它們更改為您的IP地址和端口。>>> milvus = Milvus(uri='tcp://localhost:19530')創建一個集合準備創建集合所需的參數:# Prepare collection parameters.

  >>> param = {'collection_name':'test01', 'dimension':256, 'index_file_size':1024, 'metric_type':MetricType.L2}

  Copy創建一個名為的集合test01,其大小為256,索引文件大小為1024 MB。它使用歐幾里德距離(L2)作為距離測量方法。# Create a collection.

  >>> milvus.create_collection(param)

  Copy刪除收藏集# Drop a collection.

  >>> milvus.drop_collection(collection_name='test01')創建分區為了提高搜索效率,您可以按標簽將集合劃分為幾個分區。實際上,每個分區都是一個集合。# Create a partition.

  >>> milvus.create_partition('test01', 'tag01')

  Copy刪除分區>>> milvus.drop_partition(collection_name='test01', partition_tag='tag01')將向量插入集合隨機生成20個256維向量:>>> import random

  # Generate 20 vectors of 256 dimensions.

  >>> vectors = [[random.random() for _ in range(256)] for _ in range(20)]

  Copy插入向量列表。如果您未指定矢量ID,則Milvus會自動將ID分配給矢量。# Insert vectors.

  >>> milvus.insert(collection_name='test01', records=vectors)

  Copy您還可以指定矢量ID:>>> vector_ids = [id for id in range(20)]

  >>> milvus.insert(collection_name='test01', records=vectors, ids=vector_ids)

  Copy將向量插入分區>>> milvus.insert('test01', vectors, partition_tag="tag01")

  Copy通過ID刪除載體假設您的集合包含以下向量ID:>>> ids = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

  Copy您可以使用以下命令刪除向量:>>> milvus.delete_entity_by_id(collection_name='test01', id_array=ids)

  Copy調用之后delete,您可以flush再次調用以確保新插入的數據可見,并且刪除的數據不再可恢復。創建一個索引當前,集合僅支持一種索引類型。當您更改集合的索引類型時,Milvus會自動刪除舊的索引文件。在創建其他索引之前,集合使用FLAT作為默認索引類型。create_index()指定集合的索引類型,并為先前插入的數據同步創建索引。當隨后插入的數據的大小達到時index_file_size,Milvus會在后臺自動創建索引。對于流數據,建議在插入向量之前創建索引,以便系統可以自動為下一個數據建立索引。對于靜態數據,建議先導入所有數據,然后創建索引。有關使用索引的詳細信息,請參見“索引示例程序”。準備創建索引所需的參數(以IVF_FLAT為例)。索引參數存儲在JSON字符串中,該字符串由Python SDK中的字典表示。# Prepare index param.

  >>> ivf_param = {'nlist': 16384}

  Copy不同的索引類型需要不同的索引參數。他們必須都有一個值。為集合創建索引:# Create an index.

  >>> milvus.create_index('test01', IndexType.IVF_FLAT, ivf_param)

  Copy刪除索引刪除索引后,集合將再次使用默認索引類型FLAT。>>> milvus.drop_index('test01')進行矢量搜索Milvus支持在集合或分區中搜索向量。在集合中搜索向量創建搜索參數。搜索參數存儲在JSON字符串中,該字符串由Python SDK中的字典表示。>>> search_param = {'nprobe': 16}

  Copy不同的索引類型需要不同的搜索參數。您必須為所有搜索參數分配值。有關更多信息,請參見向量索引。創建隨機向量以query_records進行搜索:# Create 5 vectors of 256 dimensions.

  >>> q_records = [[random.random() for _ in range(256)] for _ in range(5)]

  >>> milvus.search(collection_name='test01', query_records=q_records, top_k=2, params=search_param)

  Copytop_k表示搜索與目標向量最相似的k個向量。它是在搜索過程中定義的。的范圍top_k是[1,16384]。在分區中搜索向量# Create 5 vectors of 256 dimensions.

  >>> q_records = [[random.random() for _ in range(256)] for _ in range(5)]

  >>> milvus.search(collection_name='test01', query_records=q_records, top_k=1, partition_tags=['tag01'], params=search_param)

  Copy如果未指定partition_tags,Milvus將在整個集合中搜索相似的向量。

常見問題

  為什么Milvus重新啟動后第一次搜索要花很長時間?

  這是因為重新啟動后,Milvus需要將磁盤中的數據加載到內存中以進行第一個矢量搜索。您可以preload_collection在server_config.yaml中進行設置,并在內存允許的情況下加載盡可能多的集合。Milvus每次重新啟動時都會將集合加載到內存中。否則,您可以調用load_collection()將集合加載到內存中。

  為什么搜索速度很慢?

  檢查的值cache.cache_size在server_config.yaml比集合的大小。

  如何改善Milvus的表現?

  確保值cache.cache_size在server_config.yaml比集合的大小。

  確保所有段均已建立索引。

  檢查服務器上是否還有其他消耗CPU資源的進程。

  調整的數值index_file_size和nlist。

  如果搜索性能不穩定,則可以-e OMP_NUM_THREADS=NUM在啟動Milvus時添加NUM,該數量是CPU內核數的2/3。

  如何設置nlist和nprobe試管嬰兒索引?

  一般而言,的推薦值nlist是4 × sqrt(n),其中n是段中實體的總數。

  確定nprobe是在搜索性能和準確性之間進行權衡的依據,它取決于您的數據集和方案。建議運行幾輪測試以確定的值nprobe。

  以下圖表來自在sift50m數據集和IVF_SQ8索引上運行的測試。測試比較了搜索性能與不同之間的召回率nlist/nprobe對。

更新日志

  新的功能#4564支持在get_entity_by_id()方法調用中指定分區。

  #4806支持在delete_entity_by_id()方法調用中指定分區。

  #4905添加release_collection()方法,該方法從緩存中卸載特定的集合。

  改進之處#4756提高get_entity_by_id()方法調用的性能。

  #4856將hnswlib升級到v0.5.0。

  #4958提高IVF指數訓練的性能。

  已解決的問題#4778無法訪問Mishards中的向量索引。

  #4797在合并具有不同topK參數的搜索請求后,系統返回錯誤結果。

  #4838服務器沒有立即對空集合上的索引建立請求做出響應。

  #4858對于啟用GPU的Milvus,系統在搜索請求數量較大topK(> 2048)時崩潰。

  #4862只讀節點在啟動過程中會合并段。

  #4894布隆過濾器的容量不等于其所屬網段的行數。

  #4908刪除集合后,無法清理GPU緩存。

  #4933系統花很長時間才能為一小段建立索引。

  #4952無法將時區設置為“ UTC + 5:30”。

  #5008在連續,并發刪除,插入和搜索操作期間,系統隨機崩潰。

  #5010對于啟用GPU的Milvus,如果nbits≠8 ,查詢將無法在IVF_PQ上執行。

  #5050 get_collection_stats()為仍在建立索引過程中的段返回錯誤的索引類型。

  #5063清空空段時,系統崩潰。

  #5078對于啟用GPU的Milvus,在2048、4096或8192維的向量上創建IVF索引時,系統崩潰。

Milvus(矢量數據庫)下載地址

本類最新
  • Guns后臺管理系統

    12.5 MB/2020-08-17

    Guns后臺管理系統是一款項目快速開發管理系統網站搭建模板,基于SpringBoot2開發,內置主控面板、組織架構、用戶管理、機構管理、職位管理、權限管理、基礎數據、系統功能

  • 狂雨小說cms

    7.8 MB/2020-08-17

    狂雨小說是一款體積輕量、簡單易用的輕量級小說網站搭建模板,基于ThinkPHP5.1+MySQL的技術開發,網站搭建和部署便捷簡單,通過該模板用戶可以快速搭建一個屬于自己的小說內

  • Slidev(開發幻燈片展示)

    8.52 MB/2020-08-17

    Slidev是一款非常專業且優秀的開發幻燈片展示軟件,作為基于Web的幻燈片制作和演示軟件,非常適合開發人員使用,可幫助他們專注于在Markdown中編寫內容,軟件功能強大,擁有HTML

  • 魔眾短鏈接系統

    27.5 MB/2020-08-17

    魔眾短鏈接系統是一款綠色安全、免費開源的短鏈接生成網站搭建模板,基于PHP+Mysql開發,可幫助用戶快速搭建屬于自己的短鏈接生成網站,該網站界面簡潔美觀、對SEO非常友好,功

  • 易語言資源網源碼下載工具

    1.51 MB/2020-08-17

    易語言資源網源碼下載工具是一款對開發者極為有用的易語言源碼查找工具,用戶可以通過這款工具在易語言資源網中查找各種項目的源碼;很多開發者在開發項目時會在網上查找一

  • W5 SOAR(自動化響應平臺)

    6.8 MB/2020-08-17

    W5SOAR是一款功能強大、簡單專業的智能流程編排軟件,基于Python開發,專為企業安全編排而傾力研發的自動化響應平臺,使用該軟件用戶無需進行編碼也可實現自動化響應流程,該

  • 魔眾文檔管理系統

    28.8 MB/2020-08-17

    魔眾文檔管理系統是一款綠色安全、免費開源的文檔管理網站搭建模板,可幫助用戶快速搭建功能全面、安全穩定的網站系統,完成網站文檔管理系統搭建后可以對多格式文檔進行管

  • Milvus(矢量數據庫)

    6.0 MB/2020-08-17

    Milvus是一個綠色安全、免費開源的矢量數據庫,支持針對TB級向量的增刪改操作和近實時查詢,可讓用戶對數據庫內的所有數據進行搜索和瀏覽編輯,該軟件擁有類似于智能的向量搜

每日更新軟件推薦
  • 一周最熱
  • 總排行榜

您可能感興趣的專題

  • 男生必備

    男生必備

    男生們看過來!

  • 安卓裝機必備

    安卓裝機必備

  • 女生必備

    女生必備

      女生必備app是擁有眾多女性用戶的手機軟件,作為一個女生,生活中像淘寶、京東這類線上購物軟件可以說是少不了的,小紅書這種穿搭、化妝分享平臺也很受歡迎,類似于西柚大姨媽、美柚這種專為女生打造的生理期app更是手機必備,還有大家用的最多拍照美顏app是絕對不能忘記的,除此之外對于一些追星女孩來說,微博也是一個必不可少的軟件。超多女生必備軟件盡在下載吧!

  • 迅雷看看使用教程

    迅雷看看使用教程

    迅雷看看播放器是一款多功能在線高清多媒體視頻播放器,支持本地播放與在線視頻點播,采用P2P點對點傳輸技術,可以在線流暢觀看高清晰電影。不僅如此,迅雷看看不斷完善用戶交互和在線產品體驗,讓您的工作與生活充滿樂趣。

  • 驅動精靈

    驅動精靈

    驅動精靈是一款集驅動管理和硬件檢測于一體的、專業級的驅動管理和維護工具。驅動精靈為用戶提供驅動備份、恢復、安裝、刪除、在線更新等實用功能,也是大家日常生活中經常用到的實用型軟件之一了。

  • 拼音輸入法

    拼音輸入法

    對于電腦文字輸入,拼音輸入法是一種非常受歡迎的輸入法,搜狗拼音輸入法、百度拼音輸入法、QQ拼音輸入法、谷歌拼音輸入法、紫光拼音輸入法、智能拼音輸入法等,你在用哪款呢?一款好用適合自己的拼音輸入法一定對您平時幫助很大!下載吧收集了最熱門國人最喜歡用的拼音輸入法給大家。

  • b站嗶哩嗶哩怎么使用

    b站嗶哩嗶哩怎么使用

    很多人都喜歡在b站嗶哩嗶哩上觀看視頻,不單是因為可以提前看到一些視頻資源,B站的一些彈幕、評論的玩法也是被網友們玩壞了!下面下載吧小編帶來了b站嗶哩嗶哩怎么使用的教程合集!希望能幫到你啦!

  • 抖音短視頻app

    抖音短視頻app

    抖音短視頻app,這里匯聚全球潮流音樂,搭配舞蹈、表演等內容形式,還有超多原創特效、濾鏡、場景切換幫你一秒變大片,為你打造刷爆朋友圈的魔性短視頻。腦洞有多大,舞臺就有多大!好玩的人都在這兒!

国产精品亚洲五月天高清,国产精品一区第二页,国产精品每日更新在线