0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

向量數(shù)據(jù)庫(kù)是如何工作的?

jf_ro2CN3Fa ? 來(lái)源:Sully ? 2023-06-18 11:06 ? 次閱讀

向量數(shù)據(jù)庫(kù)和 Embedding 是當(dāng)前 AI 領(lǐng)域的熱門(mén)話題。

Pinecone 是一家向量數(shù)據(jù)庫(kù)公司,剛剛以約 10 億美元的估值籌集了 1 億美元。

Shopify、Brex、Hubspot 等公司都在他們的 AI 應(yīng)用程序中使用向量數(shù)據(jù)庫(kù)和 Embedding。那么,它們究竟是什么,它們是如何工作的,以及為什么它們?cè)?AI 中如此重要呢?讓我們一探究竟。

我們先看第一個(gè)問(wèn)題,什么是 Embedding?你可能在 Twitter 上已經(jīng)看到這個(gè)詞被無(wú)數(shù)次提及。

簡(jiǎn)單來(lái)說(shuō),Embedding 就是一個(gè)多維向量數(shù)組,由系列數(shù)字組成 。它們能夠代表任何東西,比如文本、音樂(lè)、視頻等等。我們這里將主要關(guān)注文本。

23e30a24-0d82-11ee-962d-dac502259ad0.jpg

創(chuàng)建 Embedding 的過(guò)程非常簡(jiǎn)單。這主要依靠 Embedding 模型(例如:OpenAI 的 Ada)。

你將你的文本發(fā)送給模型,模型會(huì)為你生成該數(shù)據(jù)的向量結(jié)果,這可以被存儲(chǔ)并在之后使用。

Embedding 之所以重要,是因?yàn)?strong>它們賦予我們進(jìn)行語(yǔ)義搜索的能力 ,也就是通過(guò)相似性進(jìn)行搜索,比如通過(guò)文本的含義。

因此,在這個(gè)例子中,我們可以在一個(gè)向量空間上表示“男人”、“國(guó)王”、“女人”和“王后”,你可以非常容易地看到它們?cè)谙蛄靠臻g之間的關(guān)系。

23fbad0e-0d82-11ee-962d-dac502259ad0.jpg

來(lái)看一個(gè)更直觀的例子:

假設(shè)你是一個(gè)有一大箱玩具的小孩。現(xiàn)在,你想找出一些類(lèi)似的玩具,比如一個(gè)玩具汽車(chē)和一個(gè)玩具巴士。它們都是交通工具,因此它們是相似的。

這就是所謂的 “語(yǔ)義相似性”—— 表示*某種程度上** 事物具有*相似的含義或想法 。

現(xiàn)在假設(shè)你有兩個(gè)相關(guān)聯(lián)但并不完全相同的玩具,比如一個(gè)玩具汽車(chē)和一個(gè)玩具公路。它們并不完全相同,但因?yàn)槠?chē)通常在公路上行駛,所以它們是相互關(guān)聯(lián)的。

那么,Embedding 為何如此重要呢?主要是由于大語(yǔ)言模型(LLM)存在上下文限制 。在一個(gè)理想的世界中,我們可以在一個(gè) LLM 提示中放入無(wú)限數(shù)量的詞語(yǔ)。但是,正如許多人所知,目前我們還做不到。以 OpenAI 的 GPT 為例,它限制在大約在 4096 - 32k 個(gè) token。

因此,由于其 “內(nèi)存”(即我們可以填充到其 token 的詞語(yǔ)的數(shù)量),我們與 LLM 的交互方式受到了嚴(yán)重限制。這就是為什么你不能將一個(gè) PDF 文件復(fù)制粘貼到 ChatGPT 中并要求它進(jìn)行總結(jié)的原因。(當(dāng)然,現(xiàn)在由于有了 gpt4-32k,你可能可以做到這一點(diǎn)了)

那么,怎么把 Embedding 和 LLM 關(guān)聯(lián)起來(lái)解決 token 長(zhǎng)度限制的問(wèn)題呢?實(shí)際上,我們可以利用 Embedding,只將相關(guān)的文本注入到 LLM 的上下文窗口中。

讓我們來(lái)看一個(gè)具體的例子:

假設(shè)你有一個(gè)龐大的 PDF 文件,可能是一份國(guó)會(huì)聽(tīng)證會(huì)的記錄(呵呵)。你有點(diǎn)懶,不想閱讀整個(gè)文件,而且由于其頁(yè)數(shù)眾多,你無(wú)法復(fù)制粘貼整個(gè)內(nèi)容。這就是一個(gè) Embedding 的典型使用場(chǎng)景。

所以你將 PDF 的文本內(nèi)容先分成塊,然后借助 Embedding 將文本塊變成向量數(shù)組,并將其存儲(chǔ)在數(shù)據(jù)庫(kù)中。

在存儲(chǔ)分塊的向量數(shù)組時(shí),通常還需要把向量數(shù)組和文本塊之間的關(guān)系一起存儲(chǔ),這樣后面我們按照向量檢索出相似的向量數(shù)組后,能找出對(duì)應(yīng)的文本塊,一個(gè)參考的數(shù)據(jù)結(jié)構(gòu)類(lèi)似于這樣:

{

[1,2,3,34]:'文本塊1',
[2,3,4,56]:'文本塊2',
[4,5,8,23]:'文本塊3',

……



}

現(xiàn)在你提出一個(gè)問(wèn)題:“他們對(duì) xyz 說(shuō)了什么”。我們先把問(wèn)題“他們對(duì) xyz 說(shuō)了什么?”借助 Embedding 變成向量數(shù)組,比如[1,2,3]。

現(xiàn)在我們有兩個(gè)向量:你的問(wèn)題 [1,2,3] 和 PDF [1,2,3,34],然后,我們利用相似性搜索,將問(wèn)題向量與我們龐大的 PDF 向量進(jìn)行比較。OpenAI 的 Embedding 推薦使用的是余弦相似度。

2416a816-0d82-11ee-962d-dac502259ad0.png

好了,現(xiàn)在我們有最相關(guān)的三個(gè) Embedding 及其文本,我們現(xiàn)在可以利用這三個(gè)輸出,并配合一些提示工程將其輸入到 LLM 中。例如:

已知我們有上下文:文本塊 1,文本塊 2,文本塊 3。

現(xiàn)在有用戶的問(wèn)題:他們對(duì) xyz 說(shuō)了什么?

請(qǐng)根據(jù)給定的上下文,如實(shí)回答用戶的問(wèn)題。

如果你不能回答,那么如實(shí)告訴用戶“我無(wú)法回答這個(gè)問(wèn)題”。

就這樣,LLM 會(huì)從你的 PDF 中獲取相關(guān)的文本部分,然后嘗試如實(shí)回答你的問(wèn)題。

這就簡(jiǎn)單的闡述了 Embedding 和 LLM 如何為任何形式的數(shù)據(jù)提供相當(dāng)強(qiáng)大的類(lèi)似聊天的能力。這也是所有那些“與你的網(wǎng)站/PDF/等等進(jìn)行對(duì)話” 的功能如何工作的!

請(qǐng)注意 Embedding 并非 FINE-TUNING。

來(lái)源:twitter-thread.com/t/ZH/ 1655626066331938818




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ChatGPT
    +關(guān)注

    關(guān)注

    29

    文章

    1564

    瀏覽量

    7865

原文標(biāo)題:向量數(shù)據(jù)庫(kù)是如何工作的?

文章出處:【微信號(hào):芋道源碼,微信公眾號(hào):芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    騰訊云把向量數(shù)據(jù)庫(kù)“卷”到哪一步了?

    被大模型“帶飛”這一年,向量數(shù)據(jù)庫(kù)才剛剛寫(xiě)下序言
    的頭像 發(fā)表于 01-15 09:49 ?1608次閱讀
    騰訊云把<b class='flag-5'>向量</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>“卷”到哪一步了?

    大模型卷價(jià)格,向量數(shù)據(jù)庫(kù)“卷”什么?

    被大模型“帶飛”這一年,向量數(shù)據(jù)庫(kù)才剛剛寫(xiě)下序言
    的頭像 發(fā)表于 05-23 09:24 ?1813次閱讀
    大模型卷價(jià)格,<b class='flag-5'>向量</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>“卷”什么?

    數(shù)據(jù)庫(kù)教程之如何進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)據(jù)庫(kù)教程之如何進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)內(nèi)容包括了:1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述 ,2 數(shù)據(jù)庫(kù)需求分析 ,3 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì) ,4
    發(fā)表于 10-19 10:41 ?21次下載
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b>教程之如何進(jìn)行<b class='flag-5'>數(shù)據(jù)庫(kù)</b>設(shè)計(jì)

    索引速度提升10倍!愛(ài)可生向量數(shù)據(jù)庫(kù)基于昇騰AI實(shí)現(xiàn)全面升級(jí)

    近日,在深圳昇騰創(chuàng)新中心的支持下,愛(ài)可生向量數(shù)據(jù)庫(kù)(TensorDB)完成了與華為Atlas 800推理服務(wù)器和全場(chǎng)景AI框架昇思MindSpore的兼容性測(cè)試,實(shí)現(xiàn)了愛(ài)可生向量檢索技術(shù)與昇騰AI
    的頭像 發(fā)表于 03-14 09:28 ?792次閱讀

    愛(ài)可生向量數(shù)據(jù)庫(kù)基于昇騰AI實(shí)現(xiàn)全面升級(jí)

    ? ? 近日,在深圳昇騰創(chuàng)新中心的支持下,愛(ài)可生向量數(shù)據(jù)庫(kù)(TensorDB)完成了與華為Atlas 800推理服務(wù)器和全場(chǎng)景AI框架昇思MindSpore的兼容性測(cè)試,實(shí)現(xiàn)了愛(ài)可生向量檢索技術(shù)與昇
    的頭像 發(fā)表于 03-23 10:40 ?1147次閱讀

    北美有的,中國(guó)也有了!Zilliz Cloud向量數(shù)據(jù)庫(kù)云服務(wù)重磅登場(chǎng)

    Milvus自2019年正式開(kāi)源以來(lái),已經(jīng)成長(zhǎng)為全球最大、最活躍的向量數(shù)據(jù)庫(kù)開(kāi)源項(xiàng)目與開(kāi)發(fā)者社區(qū)。作為Milvus背后的開(kāi)發(fā)者與運(yùn)營(yíng)者,Zilliz一直走在向量數(shù)據(jù)庫(kù)的最前沿,始終秉承
    的頭像 發(fā)表于 07-12 16:30 ?1152次閱讀
    北美有的,中國(guó)也有了!Zilliz Cloud<b class='flag-5'>向量</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>云服務(wù)重磅登場(chǎng)

    向量數(shù)據(jù)庫(kù):AI時(shí)代的下一個(gè)熱點(diǎn)

    AI大模型帶火了向量數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 08-08 22:45 ?465次閱讀

    什么是向量數(shù)據(jù)庫(kù)?關(guān)系數(shù)據(jù)庫(kù)向量數(shù)據(jù)庫(kù)之間的區(qū)別是什么?

    向量數(shù)據(jù)庫(kù)是一種以向量嵌入(高維向量)方式存儲(chǔ)和管理非結(jié)構(gòu)化數(shù)據(jù)(如文本、圖像或音頻)的數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 08-16 10:13 ?2474次閱讀
    什么是<b class='flag-5'>向量</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>?關(guān)系<b class='flag-5'>數(shù)據(jù)庫(kù)</b>和<b class='flag-5'>向量</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>之間的區(qū)別是什么?

    python讀取數(shù)據(jù)庫(kù)數(shù)據(jù) python查詢(xún)數(shù)據(jù)庫(kù) python數(shù)據(jù)庫(kù)連接

    python讀取數(shù)據(jù)庫(kù)數(shù)據(jù) python查詢(xún)數(shù)據(jù)庫(kù) python數(shù)據(jù)庫(kù)連接 Python是一門(mén)高級(jí)編程語(yǔ)言,廣泛應(yīng)用于各種領(lǐng)域。其中,Python在
    的頭像 發(fā)表于 08-28 17:09 ?1867次閱讀

    數(shù)據(jù)庫(kù)應(yīng)用及其特點(diǎn) 數(shù)據(jù)庫(kù)數(shù)據(jù)的基本特點(diǎn)

    和管理的一項(xiàng)重要應(yīng)用,其優(yōu)點(diǎn)不僅可以提高工作效率,還可以保證數(shù)據(jù)的安全性和可靠性。本文將詳細(xì)介紹數(shù)據(jù)庫(kù)應(yīng)用及其特點(diǎn),同時(shí)探討數(shù)據(jù)庫(kù)數(shù)據(jù)的基本
    的頭像 發(fā)表于 08-28 17:22 ?2890次閱讀

    ChatGPT和OpenAI都在用的Redis,是如何從傳統(tǒng)數(shù)據(jù)庫(kù)升級(jí)為向量數(shù)據(jù)庫(kù)的?

    精心設(shè)計(jì)的基于人工智能的應(yīng)用程序可以極快地篩選極其龐大的數(shù)據(jù)集,以產(chǎn)生新的見(jiàn)解并最終推動(dòng)新的收入來(lái)源,從而為企業(yè)創(chuàng)造真正的價(jià)值。但是,如果沒(méi)有新出現(xiàn)的新事物——向量數(shù)據(jù)庫(kù),任何數(shù)據(jù)增長(zhǎng)
    的頭像 發(fā)表于 09-01 16:16 ?873次閱讀

    探尋向量數(shù)據(jù)庫(kù)爆火的真相,Zilliz 技術(shù)合伙人帶你解惑

    大模型時(shí)代的到來(lái)將向量數(shù)據(jù)庫(kù)的熱度推向了高點(diǎn),在此氛圍下,有人發(fā)出了哲學(xué)家般的一問(wèn):究竟是大模型選擇了向量數(shù)據(jù)庫(kù)還是向量
    的頭像 發(fā)表于 09-28 11:40 ?559次閱讀
    探尋<b class='flag-5'>向量</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>爆火的真相,Zilliz 技術(shù)合伙人帶你解惑

    搭載英偉達(dá)GPU,全球領(lǐng)先的向量數(shù)據(jù)庫(kù)公司Zilliz發(fā)布Milvus2.4向量數(shù)據(jù)庫(kù)

    在美國(guó)硅谷圣何塞召開(kāi)的 NVIDIA GTC 大會(huì)上,全球領(lǐng)先的向量數(shù)據(jù)庫(kù)公司 Zilliz 發(fā)布了 Milvus 2.4 版本。這是一款革命性的向量數(shù)據(jù)庫(kù)系統(tǒng),在業(yè)界首屈一指,它首次
    的頭像 發(fā)表于 04-01 14:33 ?507次閱讀
    搭載英偉達(dá)GPU,全球領(lǐng)先的<b class='flag-5'>向量</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>公司Zilliz發(fā)布Milvus2.4<b class='flag-5'>向量</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>

    科技云報(bào)到:大模型時(shí)代下,向量數(shù)據(jù)庫(kù)的野望

    科技云報(bào)到:大模型時(shí)代下,向量數(shù)據(jù)庫(kù)的野望
    的頭像 發(fā)表于 10-14 17:18 ?271次閱讀

    數(shù)據(jù)庫(kù)是哪種數(shù)據(jù)庫(kù)類(lèi)型?

    數(shù)據(jù)庫(kù)是一種部署在虛擬計(jì)算環(huán)境中的數(shù)據(jù)庫(kù),它融合了云計(jì)算的彈性和可擴(kuò)展性,為用戶提供高效、靈活的數(shù)據(jù)庫(kù)服務(wù)。云數(shù)據(jù)庫(kù)主要分為兩大類(lèi):關(guān)系型數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 01-07 10:22 ?102次閱讀