大語言模型學習--向量數據庫Milvus實踐

? ? ? ?Milvus是目前比較流行的開源向量數據庫,其官網地址

Milvus 是什么? | Milvus 文檔

1.Milvus簡介

Milvus 是一種高性能、高擴展性的向量數據庫。Milvus 提供強大的數據建模功能,能夠將非結構化或多模式數據組織成結構化的 Collections。它支持多種數據類型,適用于不同的屬性模型,包括常見的數字和字符類型、各種向量類型、數組、集合和 JSON。

Milvus 提供三種部署模式

  • Milvus Lite 是一個 Python 庫,可以輕松集成到您的應用程序中。作為 Milvus 的輕量級版本,它非常適合在 Jupyter Notebooks 中進行快速原型開發,或在資源有限的邊緣設備上運行。
  • Milvus Standalone 是單機服務器部署,所有組件都捆綁在一個 Docker 鏡像中,方便部署。
  • Milvus Distributed 可部署在 Kubernetes 集群上,采用云原生架構,專為十億規模甚至更大的場景而設計。該架構可確保關鍵組件的冗余。

Milvus 的云原生和高度解耦的系統架構

2.Milvus實踐

推薦一個在線python運行環境(再也不用本地windows安裝linux虛擬機了)

玻爾 | 全球科學家的 AI for Science 空間站

下面使用Milvus Lite本地實踐一下,Milvus Lite,它是pymilvus?中包含的一個 python 庫,可以嵌入到客戶端應用程序中。

安裝Milvus

pip install -U pymilvus

設置向量數據庫

from pymilvus import MilvusClient
client = MilvusClient("milvus_demo.db")

創建Collections

if client.has_collection(collection_name="demo_collection"):client.drop_collection(collection_name="demo_collection")
client.create_collection(collection_name="demo_collection",dimension=768,  # The vectors we will use in this demo has 768 dimensions
)

用向量表示文本

import randomdocs = ["Artificial intelligence was founded as an academic discipline in 1956.","Alan Turing was the first person to conduct substantial research in AI.","Born in Maida Vale, London, Turing was raised in southern England.",
]
vectors = [[random.uniform(-1, 1) for _ in range(768)] for _ in docs]
data = [{"id": i, "vector": vectors[i], "text": docs[i], "subject": "history"}for i in range(len(vectors))
]print("Data has", len(data), "entities, each with fields: ", data[0].keys())
print("Vector dim:", len(data[0]["vector"]))

插入數據

res = client.insert(collection_name="demo_collection", data=data)print(res)

向量搜索

# query_vectors = embedding_fn.encode_queries(["Who is Alan Turing?"])
# If you don't have the embedding function you can use a fake vector to finish the demo:
query_vectors = [ [ random.uniform(-1, 1) for _ in range(768) ] ]
res = client.search(collection_name="demo_collection",  # target collectiondata=query_vectors,  # query vectorslimit=2,  # number of returned entitiesoutput_fields=["text", "subject"],  # specifies fields to be returned
)
print(res)

其他一些操作可以參考官網文檔

管理數據庫 | Milvus 文檔

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/73171.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/73171.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/73171.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DeepSeek Kimi詳細生成PPT的步驟

以下是使用 DeepSeek 和 Kimi 協作生成 PPT 的詳細步驟,結合了兩者的優勢實現高效創作: 第一步:使用 DeepSeek 生成 PPT 大綱或內容 明確需求并輸入提示詞 在 DeepSeek 的對話界面中,輸入具體指令,要求生成 PPT 大綱或…

Visual Studio 安裝及使用教程(Windows)【安裝】

文章目錄 一、 Visual Studio 下載1. 官網下載2. 其它渠道 二、Visual Studio 安裝三、Visual Studio 使用四、Visual Studio 其它設置1. 桌面快捷方式2. 更改主題、字體大小 軟件 / 環境安裝及配置目錄 一、 Visual Studio 下載 1. 官網下載 安裝地址:https://vi…

Java多線程與高并發專題——阻塞和非阻塞隊列的并發安全原理是什么?

引入 之前我們探究了常見的阻塞隊列的特點,在本文我們就以 ArrayBlockingQueue 為例,首先分析 BlockingQueue ,也就是阻塞隊列的線程安全原理,然后再看看它的兄弟——非阻塞隊列的并發安全原理。 ArrayBlockingQueue 源碼分析 …

關于ngx-datatable no data empty message自定義模板解決方案

背景&#xff1a;由于ngx-dataable插件默認沒有數據時顯示的文案是no data to display&#xff0c;且沒有任何樣式。這里希望通過自定義模板來實現。但目前github中有一個案例是通過設置代碼&#xff1a; https://swimlane.github.io/ngx-datatable/empty** <ngx-datatable…

Matlab 雙線性插值(二維)

文章目錄 一、簡介二、實現代碼三、實現效果參考資料一、簡介 雙線性插值是一種 二維插值方法,用于計算 柵格(Grid) 或 像素點 之間的插值值。它主要用于 圖像縮放、旋轉、變換 等操作,以在新像素位置估算灰度值或顏色值。 如上圖所示,假設存在一個二維離散函數(如圖像)…

coding ability 展開第二幕(雙指針——鞏固篇)超詳細!!!!

文章目錄 前言有效的三角形個數思路 查找總價格為目標值的兩個商品思路 兩數之和思路 三數之和思路 四數之和思路 總結 前言 本專欄的上篇&#xff0c;講述了雙指針的一些基礎的算法習題 今天我們來學習更進一步的雙指針用法吧 其實也是大相徑庭&#xff0c;和前面的差不多&…

L1-056 猜數字

L1-056 猜數字 - 團體程序設計天梯賽-練習集 (pintia.cn) 題解 這道題要求&#xff1a;一群人坐在一起&#xff0c;每人猜一個 100 以內的數&#xff0c;誰的數字最接近大家平均數的一半就贏。現在需要編寫程序來計算&#xff0c;其中需要存入玩家的名字&#xff08;字符串&a…

處理Java中的異常

處理Java中的異常 在 Java 中&#xff0c;異常處理是通過 try-catch-finally 語句來實現的。Java 提供了一種強大的機制&#xff0c;用于捕捉和處理程序運行中的各種錯誤和異常。通過這種方式&#xff0c;你可以有效地捕捉到可能導致程序崩潰的錯誤&#xff0c;并做出相應的處…

一維數組的增刪改查:對元素的影響

一維數組的增刪改查:對元素的影響(C語言) 在C語言中,一維數組是一種存儲一組相同類型元素的數據結構。它在內存中是連續存儲的,每個元素都可以通過索引來訪問和修改。在這篇博文中,我們將詳細探討一維數組的增、刪、改、查操作,并分析它們對數組元素的影響。 1. 一維數…

項目實操分享:一個基于 Flask 的音樂生成系統,能夠根據用戶指定的參數自動生成 MIDI 音樂并轉換為音頻文件

在線體驗音樂創作&#xff1a;AI Music Creator - AI Music Creator 體驗者賬號密碼admin/admin123 系統架構 1.1 核心組件 MusicGenerator 類 負責音樂生成的核心邏輯 包含 MIDI 生成和音頻轉換功能 管理音樂參數和音軌生成 FluidSynth 集成 用于 MIDI 到音頻的轉換 …

關于MCP SSE 服務器的工作原理

模型上下文協議&#xff08;Model Context Protocol&#xff0c;簡稱MCP&#xff09; 是一種全新的開放協議&#xff0c;專門用于標準化地為大語言模型&#xff08;LLMs&#xff09;提供應用場景和數據背景。 你可以把MCP想象成AI領域的“USB-C接口”&#xff0c;它能讓不同的A…

計算機:基于深度學習的Web應用安全漏洞檢測與掃描

目錄 前言 課題背景和意義 實現技術思路 一、算法理論基礎 1.1 網絡爬蟲 1.2 漏洞檢測 二、 數據集 三、實驗及結果分析 3.1 實驗環境搭建 3.2 模型訓練 最后 前言 &#x1f4c5;大四是整個大學期間最忙碌的時光,一邊要忙著備考或實習為畢業后面臨的就業升學做準備,…

win32匯編環境,網絡編程入門之二

;運行效果 ;win32匯編環境,網絡編程入門之二 ;本教程在前一教程的基礎上,研究一下如何得到服務器的返回的信息 ;正常的邏輯是連接上了,然后我發送什么,它返回什么,但是這有一個很尷尬的問題。 ;就是如何表現出來。因為網絡可能有延遲,這個延遲并不確定有多久。 ;而程序是順…

【高分論文密碼】AI大模型和R語言的全類型科研圖形繪制,從畫圖、標注、改圖、美化、組合、排序分解科研繪圖每個步驟

在科研成果競爭日益激烈的當下&#xff0c;「一圖勝千言」已成為高水平SCI期刊的硬性門檻——數據顯示很多情況的拒稿與圖表質量直接相關。科研人員普遍面臨的工具效率低、設計規范缺失、多維數據呈現難等痛點&#xff0c;因此科研繪圖已成為成果撰寫中的至關重要的一個環節&am…

大語言模型-1.2-大模型技術基礎

簡介 本博客內容是《大語言模型》一書的讀書筆記&#xff0c;該書是中國人民大學高瓴人工智能學院趙鑫教授團隊出品&#xff0c;覆蓋大語言模型訓練與使用的全流程&#xff0c;從預訓練到微調與對齊&#xff0c;從使用技術到評測應用&#xff0c;幫助學員全面掌握大語言模型的…

uni-app打包成H5使用相對路徑

網上找了一圈&#xff0c;沒用&#xff0c;各種試&#xff0c;終于給試出來了&#xff0c;主要是網絡上的沒有第二步&#xff0c;只有第一步&#xff0c;導致打包之后請求的路徑沒有帶上域名 運行的基礎路徑設置為./ config.js文件里面的baseUrl路徑改成空字符&#xff0c;千萬…

Android UI性能優化

Android UI性能優化 一、UI性能優化基礎 1.1 UI渲染原理 Android系統的UI渲染是通過一個被稱為"UI線程"或"主線程"的單線程模型來完成的。系統會以16ms(約60fps)的固定時間間隔發送VSYNC信號,觸發UI的渲染流程。如果一幀的處理時間超過16ms,就會出現丟…

【16】單片機編程核心技巧:移位運算的應用

【16】單片機編程核心技巧&#xff1a;移位運算的應用 七律 移位 左遷乘二寄存移&#xff0c;右徙除二暫寄時。 二進玄機藏位里&#xff0c;一移妙法化玄機。 合璧分疆拼字節&#xff0c;置位清零控毫厘。 速效堪超乘除算&#xff0c;單片機中展神威。 摘要 移位運算是單片…

【Linux內核系列】:文件系統

&#x1f525; 本文專欄&#xff1a;Linux &#x1f338;作者主頁&#xff1a;努力努力再努力wz ★★★ 本文前置知識&#xff1a; 文件系統初識 那么在我們此前關于文件的學習中&#xff0c;我們學習的都是進程與打開的文件之間的關系&#xff0c;以及打開的文件如何進行管理…

git commit messege 模板設置 (規范化管理git)

配置方法 git config --global core.editor vim &#xff08;設置 Git 的默認編輯器為 Vim&#xff09;在用戶根目錄下&#xff08;~&#xff09;&#xff0c;創建一個.git_commit_msg文件&#xff0c;然后把下面的內容拷貝到文件中并保存。 [version][模塊][類型]{解決xxx問題…