原文:Build a search engine, not a vector DB
作者:
Panda Smith
在過(guò)去 12 個(gè)月中,我們見(jiàn)證了向量數(shù)據(jù)庫(kù)(Vector DB)創(chuàng)業(yè)公司的迅猛增長(zhǎng)。我此刻并不打算深入探討它們各自的設(shè)計(jì)取舍。相反,我更想探討和解釋一些關(guān)于向量數(shù)據(jù)庫(kù)的常見(jiàn)理解——它是什么、它的功能用途,以及在解決問(wèn)題時(shí),我們應(yīng)如何恰當(dāng)?shù)乩孟蛄繑?shù)據(jù)庫(kù)。
向量數(shù)據(jù)庫(kù)不等于存儲(chǔ)器
很多向量數(shù)據(jù)庫(kù)的主要作用被描述為解決大語(yǔ)言模型 (LLM) 缺乏長(zhǎng)期記憶的問(wèn)題,或者無(wú)法將一個(gè)問(wèn)題的全部上下文放入提示語(yǔ)中。
Chroma raises $18M seed round
然而,向量搜索實(shí)質(zhì)上只是搜索的一種特殊形式。雖然讓大語(yǔ)言模型 (LLM) 能夠?qū)懭牒蜋z索數(shù)據(jù)庫(kù)非常有用,但最終這更像是提供給智能體一個(gè)搜索引擎的權(quán)限,而非真正“增加了存儲(chǔ)空間”。
假設(shè)你是一家企業(yè),想要建立一個(gè)由 LLM 驅(qū)動(dòng)的文檔查詢體驗(yàn)。如果你將向量數(shù)據(jù)庫(kù)僅看作是為語(yǔ)言模型提供更多存儲(chǔ)空間,那么你可能會(huì)把公司的所有產(chǎn)品文檔都嵌入其中,然后讓用戶向你的機(jī)器人提問(wèn)。用戶按下回車(chē)鍵時(shí),系統(tǒng)會(huì)對(duì)他們的查詢進(jìn)行向量搜索,找到相關(guān)片段,加載到上下文中,然后讓語(yǔ)言模型嘗試回答問(wèn)題。實(shí)際上,這正是我在 Stripe 工作時(shí),開(kāi)發(fā)他們的?AI 文檔產(chǎn)品?時(shí)最初嘗試的方法。
但我最終發(fā)現(xiàn),這種方法并不理想。關(guān)鍵在于,盡管向量搜索在某些方面優(yōu)于傳統(tǒng)搜索,但它并非萬(wàn)能。就像常規(guī)搜索一樣,你可能會(huì)在搜索結(jié)果中遇到不相關(guān)或遺漏的文檔。語(yǔ)言模型,就像人類(lèi)一樣,只能利用它們所擁有的信息,而這些不相關(guān)的文檔很可能會(huì)導(dǎo)致誤導(dǎo)。
如果你想打造一個(gè)優(yōu)秀的基于文檔的 RAG 工具,你首先應(yīng)該構(gòu)建一個(gè)足夠優(yōu)秀的搜索引擎,讓人類(lèi)也能輕松使用。這可能是你們組織之前已經(jīng)考慮過(guò)的,如果尚未實(shí)現(xiàn),那是因?yàn)榇蛟煲粋€(gè)高效的搜索引擎通常是一項(xiàng)頗具挑戰(zhàn)的工作。
好消息
當(dāng)你坐下來(lái)打算構(gòu)建一個(gè)高效的搜索系統(tǒng)時(shí),你該如何下手呢?在這個(gè)問(wèn)題上,大語(yǔ)言模型 (LLM) 可以成為你的救星。
雖然嵌入技術(shù) (Embeddings) 并非靈丹妙藥,但它們的確令人驚嘆。相比于關(guān)鍵詞搜索,高質(zhì)量的嵌入式搜索能顯著降低假陰性的比率。而將嵌入式搜索與關(guān)鍵詞搜索結(jié)合使用,其性能遠(yuǎn)勝于任何純文本搜索。事實(shí)上,谷歌多年來(lái)一直在這方面利用 [BERT](https://blog.google/products/search/search-language-understanding
-bert/?ref=blog.elicit.com) 技術(shù)。此外,嵌入技術(shù)本身及其在大規(guī)模搜索中的應(yīng)用工具已經(jīng)得到了巨大的改進(jìn)。市面上有許多經(jīng)過(guò)實(shí)戰(zhàn)檢驗(yàn)的數(shù)據(jù)庫(kù)能夠結(jié)合關(guān)鍵詞和向量搜索,我強(qiáng)烈建議使用這些數(shù)據(jù)庫(kù)之一(例如在 Elicit 我們使用?Vespa,而像 Chroma 這樣的向量數(shù)據(jù)庫(kù)現(xiàn)在通常也支持這一功能)。
在將嵌入技術(shù)與傳統(tǒng)方法結(jié)合以改善整體搜索之后,你將迎來(lái)一些真正有趣的挑戰(zhàn)。一個(gè)精于搜索技巧的用戶知道如何構(gòu)造查詢以確保找到相關(guān)信息(曾有一時(shí)期,Google-fu(高效使用谷歌的技巧)被視為一種強(qiáng)大的技藝),語(yǔ)言模型也能做到這一點(diǎn)。例如,如果你的模型想尋找“瘧疾疫苗最新動(dòng)態(tài)”,你可以讓它構(gòu)建一個(gè)包含日期過(guò)濾器的查詢語(yǔ)句。這里充滿了尚未開(kāi)發(fā)的潛力,而且在此基礎(chǔ)上,通過(guò)無(wú)窮無(wú)盡的微調(diào),可以實(shí)現(xiàn)令人驚嘆的高質(zhì)量搜索。就像在其他許多情況下一樣,雖然在大語(yǔ)言模型出現(xiàn)之前這些都是可能實(shí)現(xiàn)的,但它們需要大量的專(zhuān)業(yè)技能和努力?,F(xiàn)在,你只需幾小時(shí)的時(shí)間和一些計(jì)算資源,就能實(shí)現(xiàn)有競(jìng)爭(zhēng)力的性能。
在傳統(tǒng)搜索流程中,最后一個(gè)階段通常是重新排序(re-ranking)。過(guò)去,要實(shí)現(xiàn)重新排序,我們需要基于用戶在特定搜索結(jié)果頁(yè)面的點(diǎn)擊行為等信號(hào)訓(xùn)練一個(gè)相關(guān)性模型,然后用這個(gè)模型對(duì)首要結(jié)果進(jìn)行排序。對(duì)于沒(méi)有專(zhuān)門(mén)團(tuán)隊(duì)來(lái)構(gòu)建搜索引擎的人來(lái)說(shuō),這是一個(gè)難以解決的問(wèn)題。但現(xiàn)在,借助于語(yǔ)言模型(language models),你可以向模型提供查詢與結(jié)果之
間的細(xì)節(jié)信息,從而獲得一個(gè)相關(guān)性評(píng)分,這種評(píng)分甚至能超越大多數(shù)專(zhuān)業(yè)定制的系統(tǒng)。
歸根結(jié)底,AI 的最新進(jìn)展極大地簡(jiǎn)化了構(gòu)建先進(jìn)搜索引擎的過(guò)程,比起以往,所需的努力大幅減少。因此,投入時(shí)間和精力來(lái)認(rèn)真打造高效的搜索引擎,所帶來(lái)的回報(bào)是極其可觀的。
如果你打算開(kāi)發(fā)一個(gè)基于 RAG 的工具(RAG-based tool),那么首先需要著手構(gòu)建搜索功能。
附言(不太好的消息)
你已經(jīng)利用上述技術(shù)成功構(gòu)建了一個(gè)優(yōu)秀的搜索引擎,接下來(lái)就是部署的時(shí)刻了。然而,遺憾的是,語(yǔ)言模型并不能幫你解決搜索引擎建設(shè)的另一大挑戰(zhàn):評(píng)估問(wèn)題。
具體來(lái)說(shuō),這包括能夠解答以下問(wèn)題:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-761312.html
- “在何種情況下進(jìn)行搜索是恰當(dāng)?shù)???/li>
- “當(dāng)你進(jìn)行搜索時(shí),你真正想找到的內(nèi)容是什么?”
- “這些內(nèi)容在搜索結(jié)果中的排名有多高?”
要回答這些問(wèn)題,你需要構(gòu)建一套評(píng)估和監(jiān)控系統(tǒng),通過(guò)這套系統(tǒng)來(lái)對(duì)你的搜索流程進(jìn)行迭代優(yōu)化,并判斷所做的更改是否真正帶來(lái)了提升。關(guān)于如何評(píng)估搜索引擎的更多內(nèi)容,我推薦閱讀這一系列精彩的博文。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-761312.html
到了這里,關(guān)于構(gòu)建搜索引擎,而非向量數(shù)據(jù)庫(kù)(Vector DB) [譯]的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!