亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

譯者 | 布加迪

審校 | 重樓

這場(chǎng)革命的核心是矢量數(shù)據(jù)庫(kù)概念,這一突破性發(fā)展正在重塑我們處理復(fù)雜數(shù)據(jù)的方式。與傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)不同,這種數(shù)據(jù)庫(kù)具有管理和處理高維矢量數(shù)據(jù)的獨(dú)特功能,這種數(shù)據(jù)是許多AI 和機(jī)器學(xué)習(xí)應(yīng)用所固有的。隨著我們更深入研究先進(jìn)AI時(shí)代,矢量數(shù)據(jù)庫(kù)正在成為一種關(guān)鍵的工具,在處理生成式AI模型生成的龐大復(fù)雜的數(shù)據(jù)集方面提供了無與倫比的效率和準(zhǔn)確性。

本文旨在探索矢量數(shù)據(jù)庫(kù)在生成式AI界的關(guān)鍵作用,著重介紹其功能、工作方式、用例和實(shí)操教程。

矢量數(shù)據(jù)庫(kù)的定義

矢量數(shù)據(jù)庫(kù)是一種用于存儲(chǔ)、索引和檢索多維數(shù)據(jù)點(diǎn)的數(shù)據(jù)庫(kù),這些多維通常稱為矢量。不同于數(shù)據(jù)庫(kù)處理表中組織的數(shù)據(jù)(如數(shù)字和字符串),矢量數(shù)據(jù)庫(kù)是專門為管理多維矢量空間中表示的數(shù)據(jù)而設(shè)計(jì)的。這使得它們非常適合AI和機(jī)器學(xué)習(xí)應(yīng)用,這類應(yīng)用中的數(shù)據(jù)通常采用矢量的形式,比如圖像嵌入、文本嵌入或其他類型的特征矢量。

這些數(shù)據(jù)庫(kù)利用索引和搜索算法進(jìn)行相似性搜索,使它們能夠快速識(shí)別數(shù)據(jù)集中最相似的矢量。這種功能對(duì)于推薦系統(tǒng)、圖像和語(yǔ)音識(shí)別以及自然語(yǔ)言處理等任務(wù)至關(guān)重要,因?yàn)橛行У乩斫夂吞幚砀呔S數(shù)據(jù)起著至關(guān)重要的作用。因此,矢量數(shù)據(jù)庫(kù)代表了數(shù)據(jù)庫(kù)技術(shù)的進(jìn)步,可以滿足嚴(yán)重依賴大量數(shù)據(jù)的AI應(yīng)用的需求。

矢量嵌入

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

我們談?wù)撌噶繑?shù)據(jù)庫(kù)時(shí),一定要知道什么是矢量嵌入——數(shù)據(jù)最終如何存儲(chǔ)在矢量數(shù)據(jù)庫(kù)中。矢量嵌入充當(dāng)數(shù)字代碼,封裝了對(duì)象(比如音樂流媒體應(yīng)用程序中的歌曲)的關(guān)鍵特征。通過分析和提取關(guān)鍵特征(比如節(jié)奏和流派),每首歌曲通過嵌入模型轉(zhuǎn)換成矢量嵌入。

這個(gè)過程確保具有相似屬性的歌曲具有相似的矢量代碼。矢量數(shù)據(jù)庫(kù)存儲(chǔ)這些嵌入,并在查詢時(shí)比較這些矢量,以查找和推薦匹配特征最接近的歌曲,有助于為用戶提供高效、相關(guān)的搜索體驗(yàn)。

矢量數(shù)據(jù)庫(kù)的工作原理

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

執(zhí)行用戶查詢時(shí),涉及各種類型的原始數(shù)據(jù),包括圖像、文檔、視頻和音頻。所有這些數(shù)據(jù)可能是非結(jié)構(gòu)化數(shù)據(jù),也可能是結(jié)構(gòu)化數(shù)據(jù),先通過嵌入模型進(jìn)行處理。該模型通常是一個(gè)復(fù)雜的神經(jīng)網(wǎng)絡(luò),將數(shù)據(jù)轉(zhuǎn)換成高維數(shù)值矢量,并有效地將數(shù)據(jù)的特征編碼成矢量嵌入,然后將其存儲(chǔ)到SingleStoreDB之類的矢量數(shù)據(jù)庫(kù)中。

需要檢索時(shí),矢量數(shù)據(jù)庫(kù)執(zhí)行操作(比如相似性搜索),以查找和檢索與查詢最相似的矢量,從而有效地處理復(fù)雜的查詢,并向用戶提供相關(guān)的結(jié)果。這整個(gè)過程支持在需要高速搜索和檢索功能的應(yīng)用中快速準(zhǔn)確地管理大量不同類型的數(shù)據(jù)。

矢量數(shù)據(jù)庫(kù)與傳統(tǒng)數(shù)據(jù)庫(kù)有何不同?

不妨探討一下矢量數(shù)據(jù)庫(kù)與傳統(tǒng)數(shù)據(jù)庫(kù)之間的區(qū)別。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

矢量數(shù)據(jù)庫(kù)在數(shù)據(jù)組織和檢索方法上與傳統(tǒng)數(shù)據(jù)庫(kù)大不相同。傳統(tǒng)數(shù)據(jù)庫(kù)的結(jié)構(gòu)是處理離散的標(biāo)量數(shù)據(jù)類型,比如數(shù)字和字符串,將它們組織成行和列。

這種結(jié)構(gòu)對(duì)于事務(wù)性數(shù)據(jù)來說很理想,但對(duì)于AI和機(jī)器學(xué)習(xí)中通常使用的復(fù)雜高維數(shù)據(jù)來說效率較低。相比之下,矢量數(shù)據(jù)庫(kù)旨在存儲(chǔ)和管理矢量數(shù)據(jù)——即代表多維空間中點(diǎn)的數(shù)字?jǐn)?shù)組。

這使得它們天生就適合于涉及相似性搜索的任務(wù),其目標(biāo)是在高維空間中找到最接近的數(shù)據(jù)點(diǎn),這是圖像和語(yǔ)音識(shí)別、推薦系統(tǒng)和自然語(yǔ)言處理等AI應(yīng)用的一個(gè)常見要求。通過利用為高維矢量空間優(yōu)化的索引和搜索算法,矢量數(shù)據(jù)庫(kù)提供了一種更高效、更有效的方法來處理在先進(jìn)AI和機(jī)器學(xué)習(xí)時(shí)代下日益盛行的那種數(shù)據(jù)。

矢量數(shù)據(jù)庫(kù)的用例

矢量數(shù)據(jù)庫(kù)在企業(yè)推薦系統(tǒng)中起著至關(guān)重要的作用。比如說,它們可以根據(jù)用戶的瀏覽或購(gòu)買行為向用戶推薦商品。即使在欺詐檢測(cè)系統(tǒng)中也大放異彩,它們可以通過比較交易嵌入與欺詐活動(dòng)的已知概況來檢測(cè)異常模式,從而實(shí)現(xiàn)實(shí)時(shí)欺詐檢測(cè)。人臉識(shí)別是另外的用例,其中矢量數(shù)據(jù)庫(kù)存儲(chǔ)臉部特征嵌入,有助于安全地實(shí)施監(jiān)視。

它們甚至可以通過使用預(yù)先確定的或不同的答復(fù)來響應(yīng)類似的查詢,從而幫助組織做好客戶支持。市場(chǎng)研究是矢量數(shù)據(jù)庫(kù)擅長(zhǎng)的另一個(gè)領(lǐng)域,它通過分析客戶反饋和社交媒體帖子,將它們轉(zhuǎn)換成文本嵌入來分析情緒和發(fā)現(xiàn)趨勢(shì),從而獲得更強(qiáng)大的商業(yè)洞察力。

SingleStoreDB作為矢量數(shù)據(jù)庫(kù)

SingleStoreDB強(qiáng)大的矢量數(shù)據(jù)庫(kù)功能可以順暢地服務(wù)于AI驅(qū)動(dòng)的應(yīng)用、聊天機(jī)器人和圖像識(shí)別系統(tǒng)等。有了SingleStoreDB,就不需要為矢量密集型工作負(fù)載維護(hù)專用的矢量數(shù)據(jù)庫(kù)了。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

 

與傳統(tǒng)的矢量數(shù)據(jù)庫(kù)方法不同,SingleStoreDB采用了一種新穎的方法,將矢量數(shù)據(jù)與不同類型的數(shù)據(jù)類型一起放在關(guān)系表中。這種創(chuàng)新的合并使您能夠輕松地訪問與矢量數(shù)據(jù)相關(guān)的全面的元數(shù)據(jù)和額外屬性,同時(shí)利用SQL廣泛的查詢功能。

SingleStoreDB采用可擴(kuò)展的框架精心構(gòu)建,確保始終支持快速增長(zhǎng)的數(shù)據(jù)需求。告別限制,擁抱隨數(shù)據(jù)需求而進(jìn)化的解決方案。

使用SingleStoreDB的矢量數(shù)據(jù)庫(kù)教程

先決條件

  • 注冊(cè)免費(fèi)的SingleStoreDB Cloud試用版。我們將使用SingleStore作為矢量數(shù)據(jù)庫(kù)。
  • 創(chuàng)建嵌入的Postman帳戶。
  • 獲取OpenAI API密鑰的OpenAI帳戶。

一旦您登錄到OpenAI帳戶,進(jìn)入到這里所示的API選項(xiàng)卡。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

接下來,轉(zhuǎn)到嵌入選項(xiàng)卡。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

我們將從嵌入的API請(qǐng)求開始入手。為此,我們需要進(jìn)入到API References頁(yè)面。進(jìn)入到API References頁(yè)面下的“嵌入”選項(xiàng)卡,查看如何創(chuàng)建嵌入。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

現(xiàn)在,不妨為嵌入創(chuàng)建API請(qǐng)求。為此,我們需要像Postman這樣的工具。您可以注冊(cè),并在Postman帳戶中創(chuàng)建一個(gè)工作區(qū)。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

現(xiàn)在,獲取我們的API URL ' https://api.openai.com/v1/embeddings ',并將其粘貼到Postman URL部分中,使用OpenAI API密鑰對(duì)其進(jìn)行授權(quán)。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

是時(shí)候創(chuàng)建我們的第一個(gè)嵌入了。我們只需要一個(gè)模型和輸入?yún)?shù),如OpenAI文檔頁(yè)面所示。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

對(duì)于該模型,我們將使用“text-embedding-ada-002”和任何文本作為輸入。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

不妨這么做。進(jìn)入到Postman儀表板,創(chuàng)建一個(gè)“body”請(qǐng)求。在主體下,選擇“raw”,然后選擇“JSON”,以傳遞JSON對(duì)象。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

提到模型和輸入。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

向OpenAI發(fā)送post請(qǐng)求。您會(huì)看到如下所示的類似響應(yīng)。

您看到的數(shù)字是嵌入的矢量。為了存儲(chǔ)這些矢量嵌入,您需要一個(gè)健壯的數(shù)據(jù)庫(kù),這是SingleStoreDB的亮點(diǎn)所在。不妨創(chuàng)建一個(gè)免費(fèi)的SingleStoreDB Cloud帳戶。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

接下來,創(chuàng)建一個(gè)工作區(qū),如下所示。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

您可以看到已創(chuàng)建的工作區(qū)和附加的示例/默認(rèn)數(shù)據(jù)庫(kù)。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

不妨創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

在儀表板中可以看到新創(chuàng)建的數(shù)據(jù)庫(kù)。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

您可以進(jìn)入該數(shù)據(jù)庫(kù)查看其內(nèi)容。在本例中,由于我們還沒有提供任何數(shù)據(jù),因此您將看不到任何內(nèi)容。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

不妨在數(shù)據(jù)庫(kù)中創(chuàng)建一些表。進(jìn)入到“SQL編輯器”,如圖所示。您可以運(yùn)行一些簡(jiǎn)單的SQL命令來創(chuàng)建表。

確保在“選擇數(shù)據(jù)庫(kù)”選項(xiàng)卡下選擇數(shù)據(jù)庫(kù)。選擇剛才創(chuàng)建的那個(gè)數(shù)據(jù)庫(kù)。

編寫一個(gè)簡(jiǎn)單的SQL查詢來創(chuàng)建表和數(shù)據(jù)類型。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

現(xiàn)在,不妨將矢量數(shù)據(jù)插入這個(gè)數(shù)據(jù)庫(kù)。我們將在這里輸入從Postman接收到的嵌入數(shù)據(jù)。返回到SQL編輯器,編寫以下SQL查詢。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

我們使用的值將引用來自Postman的“Hello World”輸入。在JSON_ARRAY_PACK中插入從Postman接收到的巨大的數(shù)字塊。

從Postman拷貝這些數(shù)字。將這個(gè)巨大的數(shù)字塊粘貼到值中,然后運(yùn)行命令。

您可以看到結(jié)果被輸入到數(shù)據(jù)庫(kù)中。

嵌入和矢量數(shù)據(jù)庫(kù)實(shí)操指南

這就是如何使用Postman從不同的輸入創(chuàng)建不同的嵌入,并將生成的矢量嵌入添加到新創(chuàng)建的數(shù)據(jù)庫(kù)中。

使用與前面相同的方法將它們存儲(chǔ)在數(shù)據(jù)庫(kù)中。添加您自己的輸入和內(nèi)容,將其轉(zhuǎn)換成矢量。正如您在這里所見,我們添加了不同的輸入,并將生成的矢量嵌入存儲(chǔ)到數(shù)據(jù)庫(kù)中。

現(xiàn)在不妨搜索一些特定的詞語(yǔ),并從數(shù)據(jù)庫(kù)中檢索相關(guān)數(shù)據(jù),做一番試驗(yàn)。不妨回到Postman儀表板,為“OpenAI”這個(gè)詞語(yǔ)創(chuàng)建一個(gè)嵌入。

接下來,我們將針對(duì)現(xiàn)有嵌入在數(shù)據(jù)庫(kù)中執(zhí)行搜索。這應(yīng)該會(huì)返回結(jié)果,最接近的相似性列表在頂部。不妨進(jìn)入到SQL編輯器,運(yùn)行這個(gè)查詢,如下所示。

將嵌入(巨大的數(shù)字塊)粘貼到JSON_ARRAY_PACK中,并運(yùn)行命令。

在上圖中,您可以看到關(guān)鍵詞“OpenAI”的相似性得分和排名。同樣,您可以看到任何關(guān)鍵字的相似性得分。這樣,SingleStoreDB就可以用作貴公司的一種有效的矢量數(shù)據(jù)庫(kù)。

原文標(biāo)題:Embeddings and Vector Databases: A Hands-On Guide!,作者:Pavan Belagatti

分享到:
標(biāo)簽:數(shù)據(jù)庫(kù)
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定