作者 | Renato Losio
審校 | 明知山
策劃 | Tina
Redis 最近推出向量集合(Vector Set) 功能,這是一種專為向量相似性設(shè)計的數(shù)據(jù)類型,也是 Redis 針對人工智能應(yīng)用的一個新的選項。這是 Redis 創(chuàng)始人 Salvatore Sanfilippo(“antirez”)自 重新加入 公司以來的第一個重大貢獻(xiàn)。
向量集合 是一種類似于有序集合(Sorted Set)的數(shù)據(jù)類型,不一樣的是它將字符串元素與向量(而不是分?jǐn)?shù))關(guān)聯(lián)起來,可以添加項目并檢索與指定向量最相似的子集。它還支持過濾搜索功能,允許同時進(jìn)行向量相似性和標(biāo)量過濾。Sanfilippo 在他的博客中解釋道:
簡單來說,這個新的數(shù)據(jù)結(jié)構(gòu)的目標(biāo)是創(chuàng)建一種類似于有序集合的“集合類”數(shù)據(jù)類型,但分?jǐn)?shù)是一個向量而不是標(biāo)量。你可以像使用普通 Redis 數(shù)據(jù)結(jié)構(gòu)一樣添加和刪除元素,無需擔(dān)心其他問題,只需關(guān)注 Redis 抽象數(shù)據(jù)結(jié)構(gòu)本身的特性即可。你可以查詢與給定向量(或集合中已有的某個元素的向量)相似的元素,等等。
向量集合基于 hnsw.c 的 HNSW 數(shù)據(jù)結(jié)構(gòu)實現(xiàn),并進(jìn)行了速度和特性方面的擴(kuò)展。Redis 首席執(zhí)行官 Rowan Trollope 稱贊了 Sanfilippo 所做的貢獻(xiàn):
他的專業(yè)知識催生了一個簡單直觀的 API,這體現(xiàn)了 Redis 提供高性能解決方案的理念,同時保持了極簡的復(fù)雜性。
向量數(shù)據(jù)庫對于由生成式人工智能驅(qū)動的應(yīng)用程序來說至關(guān)重要,它們可以檢索語義相關(guān)的信息,用來豐富大語言模型(RAG)的上下文。其他的應(yīng)用場景還包括:聊天機(jī)器人的語義緩存、推薦系統(tǒng)和人臉識別。Redis 產(chǎn)品經(jīng)理 Mirko Ortensi 在另一篇文章中解釋了如何 使用向量集合進(jìn)行人臉識別。Ortensi 寫道:
人臉識別本質(zhì)上是基于向量的計算過程。它使用專門的嵌入模型對已知的人臉圖像進(jìn)行建模,并將映射后的向量存儲在 Redis 中,然后通過搜索在數(shù)據(jù)庫中存儲的向量來實現(xiàn)人臉識別。
來源:Mirco Ortensi
Sanfilippo 補充道:
實現(xiàn)向量相似性搜索的基本要求是從頭開始重新實現(xiàn) HNSW(你可以在 hnsw.c 中看到我的實現(xiàn)),因為這將成為核心數(shù)據(jù)結(jié)構(gòu),我不想從 GitHub 上抓取一些隨機(jī)代碼來應(yīng)付了事。
專注于高性能,Sanfilippo 不僅對 HNSW 進(jìn)行了修改,還為所有向量相似性搜索請求引入了多線程特性,并支持 8 位和二進(jìn)制量化。他強(qiáng)調(diào)了他的實現(xiàn)與其他數(shù)據(jù)結(jié)構(gòu)的主要區(qū)別:
向量集合最有趣的部分是數(shù)據(jù)模型和相關(guān)的 API。許多數(shù)據(jù)庫將向量相似性作為一種索引,但 Redis 不一樣,Redis 里的東西是數(shù)據(jù)結(jié)構(gòu):這次也不例外。
向量集合并不是 Redis 唯一的新特性:LangCache 是一個專門為人工智能應(yīng)用和智能體設(shè)計的語義緩存服務(wù),旨在通過緩存它們的響應(yīng)來減少對大語言模型的調(diào)用。
向量集合功能隨 Redis 8 RC1 發(fā)布,目前處于預(yù)覽階段,許可協(xié)議為 RSALv2 或 SSPLv1。
查看英文原文:
https://www.infoq.com/news/2025/04/redis-vector-sets/
聲明:本文由 InfoQ 翻譯,未經(jīng)許可禁止轉(zhuǎn)載。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.