二、向量數(shù)據(jù)庫介紹

?? 在GPT模型限制的情況下,開發(fā)者們不得不尋找其他解決方案,向量數(shù)據(jù)庫就是其中之一。

?? 向量數(shù)據(jù)庫的核心是將文本轉(zhuǎn)換為向量,然后存儲在向量數(shù)據(jù)庫中,當用戶輸入問題的時候,將問題也轉(zhuǎn)化為向量,在向量數(shù)據(jù)庫中查找最相似的上下文向量,最終將文本返回給用戶。

?? 舉個例子:

1?? 當我們有一份文檔需要GPT處理時,假設(shè)這份文檔是客服培訓資料或操作手冊,我們可以先將這份文檔的所有內(nèi)容轉(zhuǎn)化為向量,并存儲到向量數(shù)據(jù)庫中。然后當用戶提出相關(guān)問題時,我們將用戶的搜索內(nèi)容轉(zhuǎn)換為向量,在向量數(shù)據(jù)庫中搜索最相似的上下文向量,返回給GPT。這樣不僅可以大大減少GPT的計算量,從而提高響應(yīng)速度,更重要的是降低成本,并繞過GPT的tokens限制。

?? 再舉個例子:

2?? 當我們和ChatGPT之間有一段很長的對話,我們可以將過去的對話以向量的方式保存起來,當我們提問給ChatGPT時,將問題轉(zhuǎn)化為向量,對過去所有的聊天記錄進行語義搜索,找到與當前問題最相關(guān)的“記憶”,一起發(fā)送給ChatGPT,極大提高ChatGPT的輸出質(zhì)量。

三、向量數(shù)據(jù)庫的技術(shù)原理

3.1 詞嵌入技術(shù)(Embeding)

??♂? 傳統(tǒng)數(shù)據(jù)庫一般都是通過不同的索引方式(B Tree、倒排索引)加上關(guān)鍵詞匹配等方法實現(xiàn)的,本質(zhì)上還是基于文本的精確匹配,語義搜索的功能較弱。

?? 比如,搜索”小狗”,只能得到帶有”小狗”關(guān)鍵詞的結(jié)果,而無法得到”柴犬”、”哈士奇”等結(jié)果。因為”小狗”和”柴犬”是不同的關(guān)鍵詞,傳統(tǒng)數(shù)據(jù)庫無法識別他們的語義關(guān)系。

?? 我們可以使用模型提取不同關(guān)鍵詞的特征,得到特征向量,不同向量之間可以通過內(nèi)積或余弦來判斷其相似性關(guān)系,這樣便可以使用特征向量進行語義搜索。將關(guān)鍵詞轉(zhuǎn)換為特征向量的過程,被稱為Embeding。

3.2 相似性搜索(HNSW)

?? 我們已經(jīng)知道可以通過比較向量之間的距離來判斷他們的相似度,那么如何將其應(yīng)用到真實的場景中呢?

??? 如果想要在海量的數(shù)據(jù)中找到和某個向量最相似的向量,我們需要對數(shù)據(jù)庫中的每個向量都進行一次比較計算,但這樣的計算量是非常巨大的,所以我們需要一種高效的算法來解決這個問題。

?? 目前業(yè)界主流的方法是通過構(gòu)建圖的方式來實現(xiàn)最近鄰搜索,比較有名的HNSW算法是一種基于圖的近似最近鄰搜索(Approximate Nearest Neighbor Search)算法,主要用于在極大量的候選集中快速找到與查詢點(query)最近鄰的k個元素。

?? 算法步驟如下:

?? 算法特點:

3.3 距離度量

??♂? 上面我們討論了向量數(shù)據(jù)庫的不同搜索算法,但是還沒有討論如何衡量相似性。在相似性搜索中,需要計算兩個向量之間的距離,然后根據(jù)距離來判斷它們的相似度。

?? 而如何計算向量在高維空間的距離呢?有三種常見的向量相似度算法:

?? 下面分別介紹這三種距離度量方式:

1?? 歐氏距離

歐幾里得距離是指兩個向量之間的距離,它的計算公式為:

?? 其中,A和B分別表示兩個向量,n表示向量的維度。

?? 歐幾里得距離算法的優(yōu)點是可以反映向量的絕對距離,適用于需要考慮向量長度的相似性計算。例如推薦系統(tǒng)中,需要根據(jù)用戶的歷史行為來推薦相似的商品,這時就需要考慮用戶的歷史行為的數(shù)量,而不僅僅是用戶的歷史行為的相似度。

2?? 余弦相似度

余弦相似度是指兩個向量之間的夾角余弦值,它的計算公式為:

?? 其中,A和B分別表示兩個向量,·表示向量的點積,|A|和|B|分別表示兩個向量的模長。

?? 余弦相似度對向量的長度不敏感,只關(guān)注向量的方向,因此適用于高維向量的相似性計算。例如語義搜索和文檔分類。將歸一化后的向量進行點積,實際上也是余弦相似度。

3?? 點積

向量的點積相似度是指兩個向量之間的點積值,它的計算公式為:

?? 其中,A和B分別表示兩個向量,n表示向量的維度

?? 點積相似度算法的優(yōu)點在于它簡單易懂,計算速度快,并且兼顧了向量的長度和方向。它適用于許多實際場景,例如圖像識別、語義搜索和文檔分類等。但點積相似度算法對向量的長度敏感,因此在計算高維向量的相似性時可能會出現(xiàn)問題。

??♂? 每一種相似性測量 (Similarity Measurement) 算法都有其優(yōu)點和缺點,需要開發(fā)者根據(jù)自己的數(shù)據(jù)特征和業(yè)務(wù)場景來選擇。

四、總結(jié)

???? 本文主要介紹了向量數(shù)據(jù)庫的原理和實現(xiàn),包括向量數(shù)據(jù)庫的基本概念、相似性搜索算法、相似性測量算法。向量數(shù)據(jù)庫是嶄新的領(lǐng)域,目前大部分向量數(shù)據(jù)庫公司的估值乘著 AI 和 GPT 的東風從而飛速的增長,但是在實際的業(yè)務(wù)場景中,目前向量數(shù)據(jù)庫的應(yīng)用場景還比較少,拋開浮躁的外衣,向量數(shù)據(jù)庫的應(yīng)用場景還需要開發(fā)者們和業(yè)務(wù)專家們?nèi)ネ诰颉?/p>

文章轉(zhuǎn)自微信公眾號@Ai日記哇

上一篇:

AI對抗訓練:解密數(shù)字水印和圖片篡改檢測技術(shù)

下一篇:

如何構(gòu)建基于大模型的App
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費