精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

百萬級文檔秒匹配?HNSW 讓向量數據庫在 RAG 中封神

發布于 2025-8-8 08:04
瀏覽
0收藏

向量數據庫如何為檢索增強生成(RAG)高效匹配數據

百萬級文檔秒匹配?HNSW 讓向量數據庫在 RAG 中封神-AI.x社區

包含4個層級和30個文檔的HNSW圖

檢索增強生成(RAG)是向大型語言模型(LLMs)添加外部知識的重要工具。


幾乎每個RAG系統都包含一個向量數據庫來執行語義搜索。在這種搜索方式中,存儲在向量數據庫中的文檔嵌入會與用戶的查詢嵌入進行比較。

百萬級文檔秒匹配?HNSW 讓向量數據庫在 RAG 中封神-AI.x社區

一個基本的RAG設置包括一個嵌入模型、一個向量數據庫和一個大型語言模型。向量數據庫用于找到與查詢最匹配的前K個文檔

在實際應用中,將一個查詢向量與數據庫中數百萬個嵌入向量進行比較以找到完美匹配是非常緩慢的。為了提高速度,這些向量數據庫通常會返回足夠接近的結果。

讓我們仔細看看向量數據庫是如何工作的,并探討為當今許多RAG系統提供支持的分層可導航小世界(HNSW) 搜索算法。

基本語義搜索

在語義搜索中,嵌入模型會將文本轉換為一個密集向量,該向量捕捉了文本的含義。

通過使用同一個嵌入模型將查詢和文檔都轉換為向量,我們可以通過識別查詢向量的最近鄰來執行語義搜索。這個過程被稱為K近鄰(KNN) 搜索。

百萬級文檔秒匹配?HNSW 讓向量數據庫在 RAG 中封神-AI.x社區

在一個RAG系統中,檢索器的工作是找到與用戶查詢最相似的文檔。在這個簡單的例子中,在10個文檔中,文檔1、5和7是三個最接近的匹配。

為了找到最近鄰,我們需要測量兩個向量之間的距離。通常使用的距離度量是余弦距離,它關注兩個向量之間的夾角,或者點積。

百萬級文檔秒匹配?HNSW 讓向量數據庫在 RAG 中封神-AI.x社區

余弦距離公式是1減去兩個向量v和w的余弦相似度。

然后,我們按距離排序并選擇K個最接近的匹配。

然而,搜索所需的計算量會隨著向量數據庫中條目的數量線性增加。例如,有15個文檔時,必須計算15個距離。

如果數據庫包含數百萬個文檔,那么每次查詢時我們都需要計算數百萬個距離。

為了提高效率并解決這個問題,我們可以改用近似最近鄰(ANN) 搜索。

ANN比KNN高效得多。然而,顧名思義,這些算法不能保證返回最接近的匹配。但在實際應用中,它們通常足夠接近。

Navigable Small World (NSW)

NSW 算法[2]是一種基于圖的ANN算法。圖是一種由邊和頂點組成的數據類型。

首先,我們計算所有文檔之間的距離,這只需要做一次。接下來,我們構建一個鄰近圖,其中數據庫中的每個文檔對應一個頂點。每個文檔通過邊連接到其幾個最近的鄰居。超參數??M??決定了每個文檔的最大連接數。

使用上面的相同示例,下面是NSW鄰近圖的樣子:

百萬級文檔秒匹配?HNSW 讓向量數據庫在 RAG 中封神-AI.x社區

一個包含10個文檔的NSW鄰近圖,每個頂點最多有M=3條邊。

圖構建完成后(只需要做一次),就可以用于高效搜索了。NSW是一種貪心算法,在每一步都做出局部最優選擇。

NSW背后的理念是,從任何一個文檔都可以通過幾次“跳躍”到達另一個文檔。

為了找到與查詢最接近的文檔,我們隨機選擇一個文檔作為起點,并計算查詢與當前文檔的所有相連鄰居之間的距離。然后,我們選擇距離最短的文檔。

如果查詢與所選文檔之間的距離小于查詢與當前文檔之間的距離,我們就移動到所選文檔。

然后,算法重復此過程。如果查詢與當前文檔之間的距離小于與所有鄰居的距離,則找到了局部最小值,并返回前K個文檔。

以下是一個示例查詢的NSW算法:

百萬級文檔秒匹配?HNSW 讓向量數據庫在 RAG 中封神-AI.x社區

一個帶有查詢和隨機選擇起點的貪心搜索示例。

我們也可以用不同的隨機起點重復整個過程,以找到更好的解決方案。

Hierarchical Navigable Small World (HNSW)

HNSW在NSW的基礎上增加了分層結構,從而加快了搜索算法的速度[3]。

HNSW使用多層圖。最低層,即第0層,包含完整的NSW圖和所有文檔。

在HNSW中,會創建多個層級,每個層級進一步減少文檔的數量。在一個簡單的例子中,我們可能只使用兩個層級,如下圖所示。

百萬級文檔秒匹配?HNSW 讓向量數據庫在 RAG 中封神-AI.x社區

一個包含兩個層級和10個文檔的HNSW圖。

搜索算法從最高層開始,其操作方式與NSW類似。在某個層級中找到局部最小值后,我們將該文檔作為下一個較低層級的起點。

最終,我們到達第0層并返回前K個文檔。

這個過程就像最初先縮小范圍在最高層級找到一個大致匹配,然后隨著層級降低不斷放大范圍以找到更好的匹配。

雖然HNSW在搜索方面比KNN快得多,但創建多層鄰近圖需要大量計算。當從數據庫中插入、更新或刪除文檔時,還需要進行額外的計算來更新或重新創建圖。

此外,像HNSW這樣的基于圖的搜索算法需要更多的內存來存儲圖結構和向量嵌入。

HNSW得到了流行向量數據庫的支持,如Chroma、Qdrant、Weaviate、Milvus、Faiss、Vespa、Pinecone和Elasticsearch,并且它通常被用作語義搜索的默認ANN算法。

實際應用中的HNSW

HNSW通常是大多數向量數據庫的默認選擇。這使得它在實際應用中非常容易使用。

例如,我們將在Python中使用開源向量數據庫Chroma,可以使用??pip install chromadb??命令安裝它。

首先,創建一個本地Chroma數據庫,然后為你的數據創建一個新的集合。在這里,我們可以顯式地設置HNSW算法的超參數,例如距離度量??space=cosine???和圖中每個文檔的最大鄰居數??max_neighbors=16??。

import chromadb
# 初始化Chroma客戶端
client = chromadb.Client()
# 在Chroma中創建一個帶有顯式HNSW配置的集合
collection = client.create_collection(
    name="my-collection",
    cnotallow={"hnsw": {"space": "cosine", "max_neighbors": 16}},
)

有趣的是,Chroma使用L2范數(即歐氏距離)作為默認的距離度量。然而,大多數嵌入模型都是針對余弦距離進行優化的。

接下來,我們將文檔添加到集合中,并在后臺使用HNSW搜索算法搜索數據庫。

# 創建示例文檔
documents = [
    "這是第一個文檔。",
    "這個文檔是關于機器學習的。",
    "這是第三個關于自然語言處理的文檔。",
]
# 將文檔插入集合
collection.add(ids=["doc1", "doc2", "doc3"], documents=documents)
# 搜索最相似的1個文檔
search_results = collection.query(query_texts=["自然語言處理"], n_results=1)
# 打印搜索結果
print(search_results)

這應該會返回第三個文檔。

結論

隨著大型語言模型的興起,向量數據庫變得越來越重要,現在幾乎每個RAG系統都在使用它們。

大多數流行的向量數據庫都支持HNSW,它通常被用作默認的搜索算法。HNSW和NSW都是用于找到足夠接近的匹配的近似最近鄰算法。

對于大小為N的數據集,HNSW和NSW的搜索復雜度都是log(N),而K近鄰搜索的復雜度是線性的。這在數據庫中有數百萬或更多條目的情況下會產生巨大的差異。

百萬級文檔秒匹配?HNSW 讓向量數據庫在 RAG 中封神-AI.x社區

時間復雜度增長:O(N)隨著輸入大小線性增加,而O(log N)的增長要慢得多。

參考文獻

[1] Dr. Leon Eversberg (2025), Understanding Large Language Models and Generative AI: Inside the Technology Behind the Hype

[2] A. Ponomarenko et al. (2011), Approximate Nearest Neighbor Search Small World Approach, International Conference on Information and Communication Technologies & Applications

[3] Yu. A. Malkov, and D. A. Yashunin (2018), Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs, IEEE Transactions on Pattern Analysis and Machine Intelligence

本文轉載自???AIGC深一度??

收藏
回復
舉報
回復
相關推薦
7m第一福利500精品视频| 91精品国产综合久久精品麻豆| 久久久久久九九| 中文字幕精品视频在线观看| 99精品综合| 精品国产一区a| 日韩福利视频在线| 欧美草逼视频| 国产日韩成人精品| 97在线中文字幕| 台湾佬中文在线| 午夜精品999| 亚洲午夜未满十八勿入免费观看全集| 91丝袜超薄交口足| 日本美女一区| 亚洲一区在线观看视频| 日韩一二三区不卡在线视频| 亚洲国产999| 蜜臀久久99精品久久久久久9 | 91国产福利在线| 99精品一区二区三区的区别| 天堂av在线7| 国产乱码精品一区二区三| 日韩av电影免费观看高清| 免费在线黄色网| 成人午夜av| 亚洲精品丝袜日韩| 在线播放av网址| 国产精区一区二区| 欧美综合欧美视频| 久久久久久久久久久福利| 91在线中字| 中日韩免费视频中文字幕| 久久精品日产第一区二区三区精品版| 国产女无套免费视频| 秋霞av亚洲一区二区三| 欧美专区在线观看| 日韩欧美视频在线免费观看| 综合一区av| 久久精品视频在线| 国产18无套直看片| 国产一区三区在线播放| 精品亚洲一区二区三区| 国产午夜在线一区二区三区| 久久在线观看| 91精品福利在线一区二区三区 | 日韩一区二区三区精品| 欧美日本不卡视频| 中文字幕国内自拍| 韩日精品一区| 欧美少妇xxx| 黄色免费网址大全| 秋霞国产精品| 欧美在线观看视频一区二区| 国产v亚洲v天堂无码久久久| 欧美xxx性| 在线观看一区二区视频| 国产三级日本三级在线播放 | 成人黄色免费网站在线观看| 国产又黄又粗又猛又爽| 国产在线播放一区二区三区| 国产在线精品播放| 国产又黄又大又粗的视频| 精品一二线国产| 亚洲最大福利网| www视频在线| fc2成人免费人成在线观看播放| 国产欧美在线一区二区| 亚洲区小说区图片区| 26uuu成人网一区二区三区| 日本高清一区| 色影视在线观看| 亚洲欧美色综合| 99在线免费视频观看| 男人久久天堂| 欧美性一二三区| 一区二区三区欧美精品| 日本精品在线播放| 亚洲国模精品私拍| 日本二区在线观看| 91精品国产乱码久久久久久 | 日韩极品精品视频免费观看| 极品人妻videosss人妻| 国产精品99一区二区三区| 欧美老女人xx| 日日骚av一区二区| 精品无人码麻豆乱码1区2区| 国产精品二区二区三区| 日本亚洲一区| 亚洲素人一区二区| 女性女同性aⅴ免费观女性恋| 欧美三级精品| 欧美一级片在线看| 欧美特黄一区二区三区| 91精品啪在线观看国产18| 97国产精品人人爽人人做| 波多野结衣高清在线| 国产盗摄一区二区三区| 日本精品一区二区三区高清 久久| 麻豆网在线观看| 动漫精品一区二区| 免费成人黄色大片| 美女毛片一区二区三区四区| 久久亚洲综合国产精品99麻豆精品福利| 妺妺窝人体色www婷婷| 日韩福利视频导航| 国产精品亚洲不卡a| gogogo高清在线观看免费完整版| 亚洲国产精品久久久男人的天堂| 欧美伦理片在线看| 果冻天美麻豆一区二区国产| 色噜噜亚洲精品中文字幕| 99热国产在线观看| 国产毛片一区二区| 午夜午夜精品一区二区三区文| 毛片网站在线看| 欧美日韩的一区二区| 西西大胆午夜视频| 很黄很黄激情成人| 亚洲一区二区三区四区在线播放 | 亚洲欧洲av在线| 久草精品在线播放| 欧美日韩直播| 久久久视频免费观看| 99国产在线播放| 中文字幕一区二| 久久午夜夜伦鲁鲁一区二区| 香蕉久久夜色精品国产更新时间| 欧美日韩国产第一页| 国产精品亚洲lv粉色| 国产精品视频yy9299一区| 日本熟妇人妻xxxxx| 嫩草国产精品入口| 国外成人性视频| 亚洲国产综合一区| 一区二区欧美国产| 国产九九九视频| 日本久久精品| 国产精品久久网| www日韩tube| 欧洲国产伦久久久久久久| 中文字幕一区二区三区人妻不卡| 亚洲国内精品| 精品国产乱码久久久久久久软件| 欧美v亚洲v| 欧美精品一区在线观看| 国产精品日日夜夜| 成人av综合在线| 欧妇女乱妇女乱视频| 在线视频亚洲欧美中文| 久久久久久欧美| 少妇人妻一区二区| 欧美午夜激情视频| 精品人妻无码一区| 另类成人小视频在线| 在线码字幕一区| av日韩久久| 欧美激情啊啊啊| 婷婷综合激情网| 日韩欧美在线视频观看| 亚洲AV无码成人精品区明星换面| 日韩不卡一区二区| 一区不卡视频| 日韩一级淫片| 91高清免费视频| 成年网站在线| 777欧美精品| 久久久久成人片免费观看蜜芽| 国产成人免费网站| www国产精品内射老熟女| 久久成人av| 91精品国产自产在线老师啪| 啪啪免费视频一区| 日韩精品中文字幕在线观看| 小泽玛利亚一区二区三区视频| 国产精品视频看| 久久久久亚洲av无码网站| 国产欧美日韩一级| 亚洲欧洲一区二区在线观看| 欧美久久一区二区三区| 欧美性一区二区三区| 丝袜美腿美女被狂躁在线观看| 日韩一区二区电影| 欧美国产成人精品一区二区三区| 欧美国产在线观看| 极品人妻一区二区| 噜噜噜在线观看免费视频日韩| 亚洲日本欧美在线| 国产精品欧美大片| 国产精品手机播放| 2018av在线| www.欧美精品| 婷婷国产在线| 欧美一级欧美三级在线观看| 国产亚洲欧美日韩高清| 亚洲精品久久久蜜桃| 国产又粗又猛又爽视频| 国产精品77777| 亚洲一区二区蜜桃| 国产主播一区| 一区二区国产日产| 秋霞在线一区| 91福利视频导航| 日韩高清在线| 性日韩欧美在线视频| 黄色网页在线免费看| 亚洲欧美国产另类| 欧美一级一区二区三区| 欧美乱熟臀69xxxxxx| 亚洲黄色免费观看| 亚洲自拍偷拍av| 日韩在线一卡二卡| 久久精品无码一区二区三区| 久草免费资源站| 精品一区二区三区影院在线午夜 | 精品午夜福利在线观看| 国产精品初高中害羞小美女文| 日韩精品视频一区二区| 国产一区二区在线免费观看| 国产性生交xxxxx免费| 国语精品一区| 国产福利片一区二区| 国产欧美日韩影院| 精品久久sese| 成人看片爽爽爽| 亚洲曰本av电影| 91麻豆精品| 国产精品一区二区久久精品| 色综合一本到久久亚洲91| 欧美性在线视频| 国产中文在线播放| 国模精品视频一区二区三区| 日本一级理论片在线大全| 久久久91精品| 国产丝袜在线| 久久天天躁狠狠躁夜夜爽蜜月| 日本免费在线观看| 深夜成人在线观看| 婷婷在线视频观看| 日韩视频永久免费观看| 免费在线观看av片| 日韩视频欧美视频| 操你啦在线视频| 欧美成年人网站| 青草av在线| 高清视频欧美一级| 麻豆成全视频免费观看在线看| 97精品国产97久久久久久免费| 草草在线观看| 2019中文字幕免费视频| 女生影院久久| 国产精品日韩在线观看| 国产亚洲精彩久久| 成人国产精品久久久| 精品视频在线播放一区二区三区| 91在线看www| 91麻豆精品国产91久久久久推荐资源| 成人永久免费| 人人网欧美视频| 日韩高清av电影| 香蕉综合视频| 日韩一区二区高清视频| 亚洲黄色影片| 激情婷婷综合网| 美腿丝袜在线亚洲一区| 99精品999| 成人免费福利片| 国产精品无码一区二区三区免费| 91看片淫黄大片一级在线观看| 国产真人做爰视频免费| ●精品国产综合乱码久久久久| 黄色一级视频免费| 精品久久久久久中文字幕大豆网| 中文字幕一区二区三区四区欧美| 欧美日韩亚州综合| 亚洲美女性生活| 亚洲欧美中文日韩在线| 久久久久久国产精品免费无遮挡| 久久99视频免费| 欧美性xxx| 亚洲最大福利视频网| 蜜桃精品噜噜噜成人av| 亚洲第一页在线视频| 日韩一区二区久久| 手机看片一级片| 成人午夜av在线| 精品人体无码一区二区三区| 亚洲综合丁香婷婷六月香| 久久永久免费视频| 日韩免费性生活视频播放| 免费理论片在线观看播放老| 久久视频在线看| 97久久香蕉国产线看观看| av成人观看| 色乱码一区二区三区网站| 六月丁香激情网| 国产尤物一区二区| 一卡二卡三卡四卡| 亚洲六月丁香色婷婷综合久久| 中文字幕一区二区人妻电影| 日韩一区二区电影网| av大片在线观看| 69国产精品成人在线播放| 电影一区二区三区久久免费观看| 免费一区二区三区在在线视频| 综合一区在线| youjizzxxxx18| 91在线播放网址| 国产午夜精品无码| 91精品国产综合久久精品性色| 国产在线视频网站| 91av国产在线| 大桥未久女教师av一区二区| 中文字幕久久一区| 日产国产欧美视频一区精品| 久久偷拍免费视频| 亚洲一区二区三区美女| 91精品国产乱码久久久| 亚洲片av在线| 免费h视频在线观看| 国产精品青青草| 欧美91福利在线观看| 亚洲精品手机在线观看| 日本一区二区三区国色天香| 手机看片久久久| 精品爽片免费看久久| 激情国产在线| 国产精品一区二区三区精品| 午夜激情一区| 熟妇无码乱子成人精品| 亚洲色图在线看| 国产精品熟女久久久久久 | 午夜dj在线观看高清视频完整版| 国产裸体写真av一区二区| 欧美肉体xxxx裸体137大胆| 熟女性饥渴一区二区三区| 99久久婷婷国产精品综合| 日韩经典在线观看| 日韩电影第一页| 激情黄产视频在线免费观看| 国产一区自拍视频| 在线综合亚洲| 国产中文字幕一区二区| 精品免费在线视频| 色久视频在线播放| 日韩av黄色在线观看| 国产一区二区三区四区五区传媒| 激情婷婷综合网| 国产精品乱码一区二区三区软件| 在线观看国产小视频| 日韩视频中文字幕| 国产一区 二区| av在线免费观看国产| 不卡的av网站| 99精品在线播放| 国产亚洲一区二区在线| 欧美高清你懂的| 三上悠亚免费在线观看| 国产成人综合自拍| 亚洲天堂日韩av| 亚洲欧美日韩中文视频| 成人国产综合| 日韩人妻一区二区三区蜜桃视频| 国产精品一区二区免费不卡| 久久久久久久久精| 日韩精品中文字| 久久91视频| 久久av综合网| 久久女同性恋中文字幕| 一本色道久久综合无码人妻| 欧美xxxx18国产| 欧美xxxx在线| 欧美特黄aaa| 亚洲最新视频在线观看| 天堂中文在线8| 国产女人18毛片水18精品| 好吊日精品视频| 婷婷色一区二区三区| 91精品国产综合久久精品| 高潮在线视频| 亚洲综合网中心| 成人免费视频视频在线观看免费| 男人天堂2024| 久久综合88中文色鬼| 色婷婷精品视频| 不用播放器的免费av| 亚洲成a人片在线观看中文| 韩日视频在线| 91沈先生播放一区二区| 日韩中文字幕不卡| 国产性一乱一性一伧一色| 在线播放精品一区二区三区| 51亚洲精品| 午夜视频在线网站| 欧美日韩一区二区在线播放| 免费黄网在线观看| 欧美精品在线一区| 成人av高清在线| 国产又粗又猛又黄| 青青久久av北条麻妃黑人|